Читайте также:
|
|
1. Создайте класс, который хранил бы информацию о книге: название, автор, дата издания. Создать несколько объектов. Если в конструктор передан символьный параметр, например «а», то контролировать, начинается ли имя автора с данной буквы. Если нет, то выводить сообщение об ошибке. Если параметр не задан, то контролировать не надо.
2. Определите класс t_end_d, которому при его создании передается текущее системное время и дата в виде параметров конструктора. Этот класс должен включать функцию-член, выводящую время и дату на экран. (Для нахождения и вывода на экран этих данных воспользуйтесь стандартной библиотечной функцией.)
3. Создайте класс box, конструктору которого передаются три величины типа double, представляющие длины сторон параллелепипеда. Класс box должен подсчи-тывать его объем и хранить результат типа double. Включите функцию-член voi (), которая выводит на экран объем каждого объекта класса box.
4. Создайте класс stopwatch для имитации работы секундомера. Используйте конструктор для начальной установки секундомера в нуль. Образуйте две функции-члена класса start() и stop() соответственно для запуска и остановки секундомера. Включите в класс и функцию-член show() для вывода на экран величины истекшего промежутка времени (время привести в секундах). Также используйте деструктор для автоматического вывода на экран времени, прошедшего с момента создания объекта класса stopwatch до его удаления.
5. Одномерный массив в С – полезный и эффективный тип. Однако исполь-зование его может приводить к возникновению ошибок. Частой ошибкой является попытка обращения к элементам, которые находятся за пределами массива. С++ справляется с этой проблемой с помощью определения типа, аналогичного массиву, в котором пределы могут быть проверены.
Напишите конструктор по умолчанию, динамически распределяющий 10 элементов массива; конструктор, принимающий в качестве параметра количество размещаемых элементов. Также необходим деструктор удаляющий все распределенные элементы массива. Реализуйте следующие функции:
int& element(int i) – возвращения i -го элемента массива;
int ub() – для возвращения текущей верхней границы массива.
6. Определите класс cyl для хранения информации о цилиндре. Класс должен содержать конструктор задающий радиус и высоту цилиндра и функции вычисляющие объем и полную площадь цилиндра.
7. Создайте класс strtype, который динамически выделяет память под строку. Сама строка задается как параметр конструктора. Для выделения памяти используйте операторы new и delete.
8. Напишите программу, которая создает безопасный двумерный массив целых чисел и перемножает матрицы A,B размерностью n*m. Размеры массива задать в виде параметров конструктора. Все матрицы размещаются в оперативной памяти динамически с помощью операции new, а значения n и m вводится по запросу с клавиатуры. В конце работы программы освободить выделенную память. Вывести исходные и результирующую матрицы.
9. Создайте класс prompt. Введите в него конструктор, который выводит на экран приглашение (строку) и затем позволяет ввести целые числа. Класс должен выделить память под строки с длинами, равными введенным целым числам, и случайным образом заполнить их. Функция-член op() должна сформировать новую строку и заполнить ее поочередно символами первой и второй строк.
10. Создайте класс strtype, который получает в качестве параметра длину строки (через конструктор) и выделяет под строку память. Функция full должна заполнить эту строку случайным образом. Сделайте так, чтобы при отсутствии параметров создавалась бы строка длиной 10 символов (память освободить деструктором).
11. Перегрузите конструктор из варианта 6, так чтобы при отсутствии параметров вычислялся объем цилиндра с высотой 9 и радиусом 5.
12. Создайте класс, содержащий поля: фамилия, имя, отчество, год рождения.
Добавьте конструктор по умолчанию, который бы динамически выделял память для каждого из полей. Добавьте деструктор для освобождения выделенной памяти при разрушении класса.
Прототип класса:
class record
{ public:
record(){};
char* surname;
char* name;
int* year;
~record() {};
};
13. Определите класс, содержащий информацию о комплексном числе. Класс должен содержать конструктор, который определяет комплексное число (действительную и комплексную составляющие), если параметров нет, то комплексное число установить равным 3+3i. Класс должен содержать функцию, выводящую комплексное число, ее параметром должен быть объект. Создать функцию, перемножающую два комплексных числа (в виде объектов) и возвращающую объект.
14. Создайте класс SEMI содержащий информацию о грузовике (скорость и масса), содержащий конструктор с двумя параметрами. В основной программе создать массив объектов состоящий из 10 элементов и инициализировать их целыми числами. Напишите демонстрационную программу.
15. Определите класс strtype_a, в состав которого входит функция-член invert, инвертирующая строку и конструктор, параметрами его являются номер символа, до которого будет произведено инвертирование и сама строка. По умолчанию произвести инвертирование всей строки.
16. Создайте класс stack (стек) так, чтобы для стека память выделялась динамически. При этом длина стека должна задаваться параметром конструктора. (Не забудьте освободить эту память с помощью деструктора).
17. Определите класс CYL, который имеет конструктор с двумя параметрами (высота и радиус). Создать функцию-член, вычисляющую объем цилиндра. Если в конструктор не передаются параметры, то вычислить объем куба со стороной 5.
18. Создайте класс strtype, который динамически выделяет память под несколько строк (их число и длину задать в конструкторе). Определите функцию, которая возвращает ту строку, в которой наибольшее число букв 'a'. Память освободить деструктором.
19. Создайте класс strtype, который получает в качестве параметра строку и число (через конструктор) и выделяет под нее память. Функция drob должна разделить эту строку на число строк, заданное в параметре конструктора. Сделайте так, чтобы при отсутствии параметров создавалась строка длиной 10 символов (память освободить деструктором).
20. Создать класс strtype, в состав которого входит функция-член invert, инвертирующая строку и конструктор, параметрами которого является сама строка. По умолчанию произвести инвертирование заданной по умолчанию строки.
21. Создайте класс stack (стек) так, чтобы для стека память выделялась динами-чески. При этом, длина и имя стека должны задаваться параметрами конструктора. Если параметров нет, то длину установить равной 20, а имя - "default". Память освободить деструктором.
22. Создайте класс queue (очередь). Для инициализации очереди используете конструктор. Составьте программу для демонстрации этого класса.
Дата добавления: 2015-07-25; просмотров: 78 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Boolean dequeue::relocate(). | | | НАСЛЕДОВАНИЕ |