Классы. Конструкторы и деструкторы
Автор: Софья Мурлычёва • Декабрь 24, 2022 • Лабораторная работа • 902 Слов (4 Страниц) • 184 Просмотры
Лабораторная работа №1
по теме: "Классы. Конструкторы и деструкторы"
Задание 1. Создание класса
- Создайте класс Stock, предназначенный для работы с пакетом акций компаний. Необходимо хранить информацию о наименовании компании, количестве акций в пакете, цене каждой акции, общей стоимости всех акций (для подсчета общей стоимости всех акция использовать закрытую функцию set_tot()).
- В классе должны быть определены следующие функции:
- Функция acquire выполняет обработку первоначального вклада конкретной компании, запоминая информацию о наименовании компании, количестве акций в пакете, цене каждой акции данного пакета и вычисляя общую стоимость пакета акций с помощью функции set_tot();
- Функция buy() предназначена для приобретения дополнительных акций;
- Функция sell() предназначена для продажи акций;
- Функция update() корректирует стоимость одной акции и пересчитывает общую стоимость акций;
- Функция show() отображает данные о пакете акций.
Функции buy() и sell() должны обеспечивать проверку, что число проданных или купленных акций не будет отрицательным числом. Если же пользователь пытается продать акций больше, чем у него имеется, функция sell() прекращает выполнение операции.
- Создать в функции main() несколько объектов класса Stock. Написать программу для демонстрации работы с данным классом.
Использование конструктора и деструктора
Конструктор – это функция- элемент класса специального назначения, которая вызывается всякий раз, когда создается некоторый объект этого класса. Конструктор какого-либо класса имеет тоже имя, что и его класс. Как правило, конструктор используется для инициализации элементов объекта класса.
Конструктор, заданный по умолчанию, не имеет аргументов, он используется в тех случаях, когда объект создается без явной инициализации.
//прототип конструктора по умолчанию :
myclass ();
Эта программа использует конструктор, заданный по умолчанию, для неинициализированных объектов:
myclass ob;
Конструктор с параметрами. Конструктору можно передавать аргументы. Для этого просто добавьте необходимые параметры в объявление и определение конструктора. Затем при объявлении объекта задайте параметры в качестве аргументов.
//прототип конструктора
student (char * fam, int age);
Его нужно использовать для инициализации новых объектов следующим образом:
//первичная форма
student st = st (“Petrov”, 20);
//укороченная форма
student st(“Petrov”, 20);
//динамический объект
student *std= new (“Petrov”, 20);
Деструктор – это функция, которая вызывается при уничтожении объекта. Каждый класс может иметь только один деструктор. Он не имеет возвращаемого типа, не может даже иметь тип void; у него нет аргументов, а его имя является именем соответствующего класса, которому предшествует тильда.
Например, деструктор класса myclass имеет следующий прототип:
~myclass ();
Пример:
#include <iostream>
using namespace std;
class myclass
{
int a;
public:
myclass (); // конструктор
myclass (int n);// конструктор с параметрами
~myclass (); // деструктор
void show() ;
}; // обратите внимание на точку с запятой в конце объявления класса!!
myclass : : myclass ( )
{
cout << "Содержимое конструктора\n";
a = 10;
}
myclass : : myclass(int n)
{
cout << "Содержимое конструктора с параметрами\n";
...