Фрагмент для ознакомления
2
Лабораторная работа №1
Тема: Тема: Классы. Открытые и закрытые уровни доступа. Конструкторы. Инициализация данных объекта. Определение методов. Создание объекта в памяти. Стандартные потоки ввода-вывода.
Класс представляет собой главное инструментальное средство C++ для объектно-ориентированного программирования.
Описание класса С++ начинается с ключевого слова class. Тело класса состоит из определений членов и спецификаторов доступа – ключевых слов public, private и protected. К тем членам, которые перечислены после public, можно обращаться из любого места программы, а к тем, которые объявлены после private, могут обращаться только функции-члены данного класса.
Чтобы упростить процесс инициализации элементов данных класса, C++ использует специальную функцию, называемую конструктором, которая запускается для каждого создаваемого вами объекта. Подобным образом C++ обеспечивает функцию, называемую деструктором, которая запускается при уничтожении объекта.
• Конструктор представляет собой метод класса, который облегчает инициализацию элементов данных класса.
• Конструктор имеет такое же имя, как и класс.
• Конструктор не имеет возвращаемого значения.
• Каждый раз, когда программа создает переменную класса, C++ вызывает конструктор класса, если конструктор существует.
• Многие объекты могут распределять память для хранения информации;
• Деструктор имеет такое же имя, как и класс, за исключением того, что его имя предваряется символом тильды (~).
• Деструктор не имеет возвращаемого значения.
Классы C++ позволяют группировать данные объекта и функции объекта (методы), которые оперируют с этими данными, в одной переменной. Есть две возможности определения методов объекта. Первая состоит в том, что можно включить весь код функции внутрь определения класса. Несмотря на то, что включение кода метода в определение класса может представляться удобным, однако, когда классы становятся сложнее и включают несколько методов, операторы функций могут вносить беспорядок в определение классов. Таким образом, многие программы определяют операторы функции вне класса. В определение класса программа должна включать прототип функции, который указывает имя функции, тип возвращаемого значения и типы параметров.
Имеются 4 стандартных предопределенных потока, предназначеных для:
• cin - стандартного ввода;
• cout - стандартного вывода;
• cerr - стандартного вывода ошибок;
• clog - полностью буферизованного вывода ошибок.
Задание:
Вариант заданий описания членов — данных пользовательских классов
Вариант 13
13. КВИТАНЦИЯ
номер — int
дата — int
сумма — float
Решение:
Лабораторная работа выполнялась в Online C++ Compiler.
Code, Compile, Run and Debug C++ program online.
В файле main.h определим с помощью ключевого слова class объект Receipt.
Данные объекта: (данные имеют закрытый уровень доступа – private)
class Receipt
{
int num; //номер — int (целый тип)
int data; //дата — int (целый тип)
float sum; //сумма — float (вещественный тип)
public:
Receipt();// конструктор по умолчанию
Receipt(int _num, int _data, float _sum);
void Print();
void Input();
~Receipt();
};
Определим конструктор объекта, аргументы которого будут инициализировать все данные объекта.
Receipt::Receipt(int _num, int _data, float _sum)
{
num = _num;
data = _data;
sum = _sum;
};
Определим конструктор объекта по умолчанию (без аргументов), проинициализировав все данные.
Receipt::Receipt()
{
num = 0;
data = 0;
sum = 0;
};
Определим конструктор объекта, инициализирующий все данные объекта значениями аргументов.
Receipt::Receipt(int _num, int _data, float _sum)
{
num = _num;
data = _data;
sum = _sum;
};
Определим в объекте функцию void Print() с открытым уровнем доступа (public), которая будет выводить данные на экран.
void Receipt::Print()
{
cout << "Receipt: N " <
};
Определим функцию ввода данных в объект с клавиатуры void Input(). В теле функции для ввода данных используем стандартный поток ввода cin >> значение1 >> значение2 >> … ;
void Receipt::Input()
{
cout << "Input Receipt: N, Data, Total " << endl;
cin >> num >>data >> sum ;
};
В файле main.cpp с помощью директивы #include включим в файл main.cpp заголовочные файлы и < Main.h>
Внутри главной функции программы int main() создадим объект Receipt с помощью конструктора по умолчанию и введем данные в объект с клавиатуры, вызвав функцию Input. Выводим данные объекта на экран, вызвав функцию Print.
Receipt rec1;
rec1.Input();
rec1.Print();
Показать больше