2.3. Создание классов и их потомков с использованием динамической памяти
Создать класс и класс-потомок с полями, указанными в индивидуальном задании (табл. 2.3); под некоторые из полей классов память выделять динамически. Реализовать в классе и классе-потомке методы:
- конструкторы по умолчанию и с параметрами;
- деструкторы;
- функции обработки данных, указанные в индивидуальном задании (табл. 2.3);
- функции формирования строки информации об объекте.
Создать проект для демонстрации работы: ввод и вывод информации об объектах: классе-родителе и классе-потомке.
Таблица 2.3 – Варианты индивидуальных заданий
№ |
Класс-родитель |
Функция для класса-родителя |
Параметр класса- потомка |
Функция для класса-потомка |
1 |
Квадратная матрица целых чисел: элементы матрицы и её размер n |
Вектор сумм положительных элементов строк |
Вещественное число х |
Количество элементов матрицы, которые больше среднего значения положительных элементов матрицы |
2 |
Квадратная матрица целых чисел: элементы матрицы и её размер n |
Вектор сумм отрицательных элементов столбцов |
Вектор из n вещественных чисел х |
Скалярное произведение заданного вектора и вычисленного вектора сумм столбцов |
3 |
Две строки разной длины: S1 и S2 |
Объединить строки через символ «пробел» |
Строка S3 |
Объединить строки и определить общую сумму цифр |
4 |
Две строки разной длины: S1 и S2 |
Все строчные буквы (русские и латинские) преобразовать в прописные |
Символ |
Сколько раз встречается символ-параметр в строках |
5 |
Прямоугольная матрица целых чисел: элементы матрицы и её размеры nxm |
Вектор максимальных значений строк |
Целое число х |
Среднее значение чисел вектора, которые больше заданного числа |
6 |
Прямоугольная матрица вещественных чисел: элементы матрицы и её размеры nxm |
Вектор минимальных значений столбцов |
Вектор n элементов |
Объединить два вектора и отсортировать их в порядке возрастания |
7 |
Прямоугольная матрица символов: элементы матрицы и её размеры nxm |
Строка с максимальным кодом символов |
Строка m символов |
Сумма кодов символов строки |
8 |
Две строки разной длины: S1 и S2 |
Строка общих символов двух строк |
Строка сим- волов S3 |
Сумма цифр об- щих символов строк |
9 |
Две строки разной длины: S1 и S2 |
Строка из спецсимволов (не букв и не цифр) двух строк |
Символ с |
Вставить символ с в строку после каждого символа # |
10 |
Вектор из n дат |
Минимальная дата |
Текущая дата |
Количество дней между минимальной и текущей датой |
11 |
Вектор из n слов (строк) |
Слово с максимальной длиной |
Слово S |
Символы слова в алфавитном порядке |
12 |
Стек с информацией о дисках: тип диска, объем памяти |
Добавление информации о новом диске; просмотр информации о дисках |
Дата приобретения диска |
Удаление из стека информации о самом старом диске; сведения о диске с максимальным объемом |
13 |
Очередь (на квартиру) с информацией: фамилия с инициалами, дата постановки на учет, имеющаяся площадь |
Добавление информации о новом нуждающемся на жилплощадь; просмотр информации об очередниках на квартиру |
Количество проживающих на имеющейся площади |
Сортировка по возрастанию даты постановки на учет; удаление из очереди тех, у кого на одного проживающего более 6 кв.метров; Удаление из очереди трех первых очередников (получивших ордер) |
