деструктора вызовет себя и все деструкторы родителей
Base *a = new Derived; delete a;
// Вызов виртуального деструктора вызовет деструктор экземпляра (?)
VBase *b = new VDerived; delete b;
Под знаком вопрос:
Экземпляр *a это Base, а экземпляр *b это VDerived? Если слово "экземляр" (instance) не подходит, то какое слово подойдёт?
Примечание:
- Derived наследован от Base,
- VDerived наследован от VBase, VBase::~VBase() виртуален
Экземпляр - это конкретная переменная. Класс - это просто тип данных, который сделал пользователь все. (прям все и точка) теперь по русски. Это тип, считай что инт. так вот когда ты говоришь инт. это просто конь в вакууме. а вот когда говоришь что int index = 0; так вот индекс - это экземпляр типа инт. тобишь это конкретная переменная, у нее есть адрес, есть значение (пускай даже мусор).
Обсуждают сегодня