Язык С++ и программирование на нем. Рейзлин В.И. - 101 стр.

UptoLike

Составители: 

103
Деструктор класса X;
Деструктор класса X;
Пользоваться явным вызовом деструктора надо очень осторожно.
19. Производные классы
19.1. Построение производного класса
Рассмотрим класс с конструктором и деструктором:
class Base {
int *bmember;
public:
Base (int arg = 0){bmrmber = new int(arg);}
~Base (){delete bmember;}
};
Предположим, что нам нужно изменить этот класс так, чтобы
объект такого типа содержал не один, а два указателя. Вместо того, что-
бы изменять класс Base, можно поступить иначе. Ничего не меняя в
Base, построить на его основе новый класс Derived:
class Derived: public Base{
int *dmember;
public:
Derived (int arg){
dmember = new int(arg); }
~Derived (){ delete dmember; }
};
Запись вида class Derived: public Base говорит о том, что
класс Derived является таким заново создаваемым классом, который
построен на основе класса Base. При этом класс Derived наследует все
свойства класса Base. Говорят, что Derived является классом, произ-
водным от класса Base, а класс Base является базовым классом для
Derived.
Если в программе будет создан объект типа Derived, то он будет
содержать два указателя на две области динамической памяти
bmember, как подобъект типа Base и dmember. Процесс создания объек-
та типа Derived будет проходить в два этапа: сначала будет создан "по-
добъект" типа Base, причём это сделает конструктор класса Base. Затем