Лабораторная работа № 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”, метод выдает значения: раньше или позже),

деструктор.

В программе продемонстрировать работу всех методов.