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