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

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

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

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

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

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

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

Лабораторная работа №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 была успешно решена.

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