Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шаблон_Руководство пользователя (РП).doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
205 Кб
Скачать
☆

10 Конструкторы класса Home

В классе Home описаны следующие конструкторы:

№ п/п

Прототип

Тип возврата

Назначение /Параметры

Home()

Home &

Нет

Home( Home & H)

Home &

Новый на основе ссылки на объект типа дом:

Home &

Home( Home * pH)

Home &

Новый на основе указателя на объект типа дом:

Home *

Home(const char *HomName, const char *Number)

Home &

Новый с параметрами: HomName - имя

Number - номер дома

Home(const char *HomName, const char *Number, int Numb)

Home &

Новый с параметрами: HomName - имя дома,

Number - номер дома

Numb - номер для поиска

Home(const char *HomName, const char *Number, int Numb, int Etag, int Men=0,HomeType Type = fast,int Apart=0)

Home &

Новый с параметрами: HomName - имя дома,

Number - номер дома

Numb - номер для поиска, Etag - этажность,

Men - число жителей,

Type – тип дома,

Apart - число квартир

Примеры использования конструкторов:

Конструктор без параметров:

Home H1;

Конструктор с именем и номером символьным:

Home H2("Жилой","д.2");

Конструктор с именем, номером символьным и номером для поиска:

Home H3("Жилой", "д.3", 3);

Конструктор с именем, номером символьным, номером для поиска и этажностью:

Home H4("Жилой", "д.4а", 4,2);

Конструктор с именем, номером символьным, номером для поиска, этажностью и числом жителей:

Home H5("ДЭЗ", "д.5", 5,2,3);

Конструктор с именем, номером символьным, номером для поиска, этажностью, числом жителей и типом дома:

Home H6("Жилой", "д.6", 6,2,3, fast);

Конструктор с именем, номером символьным, номером для поиска, этажностью, числом жителей, типом дома и числом квартир:

Home H7("Магазин", "д.7", 7,2,3, multiple , 5);

Примеры использования конструкторов копирования:

Конструктор копирования на основе ссылки:

Home H6("ДЭЗ", "д.5", 5,2,3);

Home Test(H5);

H5.printOn(cout);

Test.printOn(cout);

Конструктор копирования на основе ссылки и динамической памяти:

Home *pHome = new Home (H6);

H6.printOn(cout);

pHome->printOn(cout);

delete pHome;

Конструктор копирования на основе ссылки и операции присваивания “-”:

Home Temp;

Home H7("Магазин", "д.7", 7,2,3, multiple , 5);

Temp = H7;

H7.printOn(cout);

Temp.printOn(cout);

Конструктор копирования на основе указателя и динамической памяти:

Home H6("ДЭЗ", "д.5", 5,2,3);

Home *pHome = new Home (H6);

Home *pHome1 = new Home (* pHome);

pHome->printOn(cout);

pHome1->printOn(cout);

delete pHome;

delete pHome1;

11 Деструктор класса Home

Прототип деструктора:

~Home();

Пример явного и неявного использования деструктора:

{

Home *pHome = new Home (H6);

pHome->printOn(cout);

delete pHome;

}

Неявный вызов деструктора производится при завершении блока операторов . Явный вызов деструктора производится при выполнении операции delete.