Собственно вопрос заключаеться в том как работает оператор delete, точнее что он удаляет.
псевдокод:
| Код | class Object { Object(); ~Object(); virtual ReSet(); }
Object::~Object() { ReSet(); }
class Sample::Object { Sample(); ~Sample[s](); virtual ReSet(); }
.....
main() { Object *pObject; Sample *pSample;
pSample = new Sample[1]; pObject = pSample; ..... delete []pObject; }
|
собственно оператор delete удаляет в памяти размер Object или Sample, или он сам знает размер какой былвыделен??? Знаю точно, что вызываеться деструктор обекта Object а не Sample. |