Лабораторные работы. Рожков / Отчеты / OOPLaboratornayarabota2Otchet
.docxФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА» (СПбГУТ)
ФАКУЛЬТЕТ ИНФОКОММУНИКАЦИОННЫХ СЕТЕЙ И СИСТЕМ (ИКСС)
КАФЕДРА ПРОГРАММНОЙ ИНЖЕНЕРИИ И ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ (ПИ И ВТ)
Дисциплина: «ООП»
Лабораторная работа №2
Тема: «Отношения включения»
Вариант №24
Выполнил:
Студент группы ИКПИ-32
Яковлев Максим
Подпись ______________
Принял:
Рожков М.А.
Подпись ______________
Санкт-Петербург
2024 г.
Лабораторная работа №2
По теме: ОТНОШЕНИЕ ВКЛЮЧЕНИЯ
Выполнил: Яковлев М. А.
Цель
Задача: Разработать определения двух класса COne и CTwo, которые связаны отношением включения. Поля разрабатываемых классов считаются заданными и приводятся в таблицах 2.1 и 2.2. Для всех классов требуется написать три вида конструкторов (умолчания, с параметрами и конструктор копирования), деструктор, перегруженный оператор присваивания, методы доступа и метод print(), распечатывающий значения полей объекта. Написать тестовую программу для проверки работоспособности разработанных классов.
Программа
Значение функций
Класс COne
• COne() : Конструктор по умолчанию. Инициализирует d значением 0.0, а s — пустой строкой
• COne(double d, const std::string& s) : параметризованный конструктор. Инициализирует d и s с предоставленными значениями
• COne(const COne& other) : конструктор копирования. Создает новый объект COne путем копирования данных (d и s) из другого объекта COne (other)
• COne& operator=(const COne& other) : перегруженный оператор присваивания
• double getD() const : возвращает переменную
• void setD(double d) : устанавливает переменную
• const std::string& getS() const : возвращает переменную
• void setS(const std::string& s) : устанавливает переменную
• void print() const : выводит значения d и s на консоль
Класс CTwo
• CTwo() : Конструктор по умолчанию. Создает новый объект COne используя его конструктор по умолчанию, и инициализирует d значением 0.0.
• CTwo(double d, double p_d, const std::string& p_s) : параметризованный конструктор. Инициализирует d и создает новый объект COne с предоставленными значениями p_d и p_s .
• CTwo(const CTwo& other) : конструктор копирования
• CTwo(double d, const COne& cOne) : d(d), p(new COne(cOne)) {} : конструктор с объектом
• ~CTwo() : Деструктор
• CTwo& operator=(const CTwo& other) : Перегруженный оператор присваивания
• double getD() const : возвращает переменную
• void setD(double d) : устанавливает переменную
• COne* getP() const : возвращает переменную
• void setP(double p_d, const std::string& p_s) : устанавливает значения объекта COne, на который указывает p
• void print() const : печатает значение d, а затем вызывает метод print() объекта COne
Вывод
В результате работы были разработаны два класса, COne и CTwo, связанные отношением включения, с реализацией всех необходимых конструкторов (умолчания, с параметрами, копирования), деструктора, перегруженного оператора присваивания, методов доступа и метода print() для вывода информации о полях объектов.
Разработанная тестовая программа успешно продемонстрировала корректную работу классов и их взаимодействие, подтверждая правильность реализации отношения включения и всех методов. Таким образом, поставленная задача по разработке и тестированию классов COne и CTwo была успешно решена.
