Классы. Открытые и закрытые уровни доступа. Конструкторы. Инициализация данных объекта. Определение методов
Автор: rasrtrastr • Январь 15, 2020 • Лабораторная работа • 1,248 Слов (5 Страниц) • 1,080 Просмотры
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ
Федеральное государственное бюджетное образовательное
учреждение высшего образования
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)
Лабораторная работа
по дисциплине «Объектно-ориентированное программирование»
Вариант №13
Выполнил:
Студент ФДО гр. з-435-б
К. А. Миронов
Направление подготовки:
Информатика и вычислительная техника
«24» ноября 2019 г.
2019
Содержание
Введение………………………………….………………………………….….……3
Краткая теория…………………….………………………..…….………….……...4
Задание…………………………………………………….…………………………5
Код программы…………………………………………….………………………..7
Тестирование программы…...……………………………………………………..10
Заключение………………………………………………………………………….10
Введение
Лабораторная работа по курсу «Объектно-ориетированное программирование» на тему: «Классы. Открытые и закрытые уровни доступа. Конструкторы. Инициализация данных объекта. Определение методов. Создание объекта в памяти. Стандартные потоки ввода-вывода». Работа выполнена в среде разработки Visual Studio.
Краткая теория
- Класс – является базовым элементом в ООП, включающий в себя свойства и методы для работы с ними.
- Открытые и закрытые уровни доступа – подразумевается, что поля класса и методы могут находиться как в открытой области, тогда к ним можно получить доступ из вне, а для закрытого такого сделать нельзя.
- Конструкторы – специальные методы класса, которые вызываются при создание нового объекта данного класса. Могу быть как конструкторы без параметров (по умолчанию) так и с параметрами.
- Инициализация данных объекта – может производиться после создания класса через методы объекта или напрямую через свойства, а также данные можно инициализировать сразу в конструкторе класса.
- Определение методов – определение методов производится как определение функций только в отличии от вторых методы определяются в классе и имеют открытый уровень доступа чтобы получить к ним доступ из вне (не всегда).
- Создание объекта в памяти – иногда полезно динамически выделить память под некоторые объекты так как заранее не узнаешь сколько понадобится таких объектов, а их может понадобиться в процессе работы программы различное кол-во. Поэтому создание динамического объекта можно произвести при помощи оператора new а вернуть память занятую под этот объект обратно системе через оператор delete.
- Стандартные потоки ввода-вывод – в языке C++ под ними подразумеваются cin и cout где первый относится к потоку ввода, а второй к потоку вывода.
Задание
- В среде программирования на С++ создайте консольный проект с именем LAB1 в каталоге LAB1.
- В проекте создайте файлы main.h (заголовочный файл) и main.cpp (файл исходного кода).
- В файле main.h определите с помощью ключевого слова class объект Person.
Данные объекта:
Номер человека (целый тип)
ФИО (символьный массив)
Пол (логический тип: 0-муж., 1-жен.)
Возраст (вещественный тип)
Пусть данные имеют закрытый уровень доступа (private).
- Опишите конструктор объекта, аргументы которого будут инициализировать все данные объекта.
- Опишите конструктор объекта по умолчанию (без аргументов), проинициализировав все данные.
- Опишите в объекте функцию void Print() с открытым уровнем доступа (public), которая будет выводить данные на экран.
- Откройте файл main.cpp. С помощью директивы #include включите в файл main.cpp заголовочные файлы
, , , а также ваш заголовочный файл "Main.h". - Ниже определите конструктор объекта, инициализирующий все данные объекта значениями аргументов. В теле конструктора используйте функцию strcpy(стр1, стр2) для копирования строки имени человека (ФИО).
- Затем определите функцию void Person::Print(). В теле функции для вывода данных используйте стандартный поток вывода cout << значение1 << значение2 << … << endl;
- Ниже напишите главную функцию программы int main(). Внутри ее создайте объект Person, указав все значения данных объекта. Выведите данные объекта на экран, вызвав функцию Print.
- Затем создайте динамический объект Person с помощью обычного конструктора и оператора new. Выведите данные объекта на экран. Удалите динамический объект из памяти с помощью оператора delete.
- Напишите функцию ввода данных в объект с клавиатуры void Person::Input(). В теле функции для ввода данных используйте стандартный поток ввода cin >> значение1 >> значение2 >> … ;
Затем в теле функции main создайте объект Person с помощью конструктора по умолчанию и введите данные в объект с клавиатуры, вызвав функцию Input. Выведите данные объекта на экран.
В рабочем варианте были заданы следующие параметры:
Квитанция
- номер – int
- дата – int
- сумма – float
Код программы
Работа выполнялась в среде разработки Visual Studio. Программа состоит из заголовочного файла ticket.h и двух файлов реализации – ticket.cpp и main.cpp.
...