Скачиваний:
0
Добавлен:
02.11.2025
Размер:
59.55 Кб
Скачать

ФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА» (СПбГУТ)

ФАКУЛЬТЕТ ИНФОКОММУНИКАЦИОННЫХ СЕТЕЙ И СИСТЕМ (ИКСС)

КАФЕДРА ПРОГРАММНОЙ ИНЖЕНЕРИИ И ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ (ПИ И ВТ)

Дисциплина: «ООП»

Лабораторная работа №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(). Написана тестовая программа для проверки работоспособности разработанных классов.

Соседние файлы в папке Отчеты