
Лабораторные работы / лабы ооп / ооп1
.docxФедеральное государственное автономное образовательное учреждение высшего образования
«ОМСКИЙ ГОСУДАРСТВЕННЫЙ
ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
Кафедра Информатика и вычислительная техника
Лабораторная работа ООП №1
по дисциплине «Программирование»
на тему:
«Классы, объекты. Функции-члены класса в языке С++. Инкапсуляция»
Выполнил ст.гр. ИВТ-234
Шкутова А.В.
Проверила
Дорошенко М.С
Омск 2024
Задание 1
Создайте три способа работы с данными логического типа boolean:
а) традиционный с использованием препроцессора
#define TRUE 1
#define FALSE 0
#define Boolean int
б) в ANSI C и С++ c использованием перечислимых типов
enum Boolean {false, true};
в) в С++ как класс
class Boolean
{
public: // различные функции-члены, включая перегрузку ! && || == !=
};
Выделите преимущества и недостатки каждого способа. Учтите контекст и проблемы преобразования, а также видимость имен.
Результат:
Код программы:
Преимущества:
- Простота и удобство использования
- Понятность кода
Недостатки:
- Возможность конфликта с другими библиотеками, использующими те же имена TRUE и FALSE
2
способ:
Результат
Преимущества:
- Не сильно отличается в синтаксисе от препроцессорного способа
- Удобен для использования в ANSI C и С++
Недостатки:
- Возможность ошибки в случае неявного приведения типов
3 способ:
Код программы:
Результат:
Преимущества:
- Полная контроль типов и операций
- Специализированный класс для работы с логическими значениями
Недостатки:
- Несколько более сложный синтаксис
- Возможность необходимости явного приведения типов для сравнения