Лабораторная работа № 1
Классы
Вариант 1.
Реализовать класс "Точка на плоскости" (TPoint). Класс содержит следующие поля: координата x, координата y, цвет точки (название цвета – например, blue, white, green и т. д.). Реализовать следующие методы:
конструктор без параметров,
конструктор с параметрами,
распечатка координат точки на экране,
распечатка текущего цвета,
сдвиг точки на заданный вектор,
изменение цвета точки,
вычислить расстояние от текущей точки до заданной (заданная точка передается в метод как указатель на объект класса “TPoint”),
В программе продемонстрировать работу всех методов.
Вариант 2.
Реализовать класс "Вещественное число" (TNumber). Класс содержит одно поле: вещественное число. Реализовать следующие методы:
конструктор без параметров,
конструктор с параметрами,
распечатка числа на экране в экспоненциальной форме,
распечатка числа с заданным количеством знаков после запятой,
увеличение числа на заданное вещественное число (число передается в метод как указатель на объект класса “TNumber”),
умножение числа на заданное целое число (передается в метод параметром),
нахождение модуля числа,
деструктор.
В программе продемонстрировать работу всех методов.
Вариант 3.
Реализовать класс "Вектор в трехмерном пространстве" (TVector). Класс содержит следующие поля: координата x, координата y, координата z. Реализовать следующие методы:
конструктор без параметров,
конструктор с параметрами,
распечатка координат вектора на экране,
добавление к вектору другого вектора (вектор передается в метод как указатель на объект класса “TVector”),
нахождение модуля вектора,
растяжение вектора (умножение вектора на заданное целое число - число передается в метод как параметр),
деструктор.
В программе продемонстрировать работу всех методов.
Вариант 4.
Реализовать класс "Человек" (THuman). Класс содержит следующие поля: фамилия, имя, отчество, пол, день, месяц и год рождения. Реализовать следующие методы:
конструктор без параметров,
конструктор с параметрами,
распечатка всех данных о человеке на экране,
распечатка фамилии, имени, отчества и года рождения,
вычисление и вывод на экран возраста человека (в качестве параметра в метод передается текущая дата),
проверка является ли человек однофамильцем другого человека (информация о другом человеке передается в метод как указатель на объект класса “THuman”),
изменение фамилии на заданную фамилию (заданное передается в метод как указатель на строку),
деструктор.
В программе продемонстрировать работу всех методов.
Вариант 5.
Реализовать класс "Строка" (TString). Класс содержит следующие поля: указатель на строку и длина строки. Реализовать следующие методы:
конструктор без параметров,
конструктор с параметрами,
получение длины строки и вывод ее на экран,
увеличение длины строки на заданное значение,
прибавление к строке заданного символа,
прибавление к строке заданной строки (строка передается в метод как указатель на объект класса “TString”),
изменение строки на заданное значение (заданная строка передается в метод как указатель на объект класса “TString”),
деструктор.
В программе продемонстрировать работу всех методов.
Вариант 6.
Реализовать класс "Файл" (TFile). Класс содержит следующие поля: имя, расширение, размер, дата создания, атрибут скрытый или нет. Реализовать следующие методы:
конструктор без параметров,
конструктор с параметрами,
распечатка имени, расширения и даты создания файла на экране,
распечатка значений всех характеристик на экране,
распечатка всего файла на экран,
добавление к файлу другого файла (информация о другом файле передается в метод как указатель на объект класса “TFile”),
изменение имени файла на заданное значение (заданное имя передается в метод как указатель на строку),
деструктор.
В программе продемонстрировать работу всех методов.
Вариант 7.
Реализовать класс "Литературное произведение" (TLiter). Класс содержит следующие поля: фамилия и имя автора, название, дата создания. Реализовать следующие методы:
конструктор без параметров,
конструктор с параметрами,
распечатка всех данных о произведении на экране,
распечатка фамилии, имени автора и названия произведения,
вычисление и вывод на экран возраста произведения (в качестве параметра в метод передается текущая дата),
принадлежность произведения к творчеству автора заданного произведения (информация о другом произведении передается в метод как указатель на объект класса “TLiter”),
сравнение времени создания данного произведения с другим произведением (информация о другом произведении передается в метод как указатель на объект класса “TLiter”, метод выдает значения: раньше или позже),
деструктор.
В программе продемонстрировать работу всех методов.


