Вопрос.
Что происходит с памятью в случае нижеприведенной реализации?
// ----------------------
void main(void)
{
Base *obj;
...
switch(int i)
{
case 1: obj = new Child1; break;
case 2: obj = new Child2; break;
case 3: obj = new Child3; break;
}
obj->show();
}
// ---------------------
Каким образом выделяется память под объекты, определяемые пользователем? Грубо говоря, если
передать в наш switch() последовательно 1, 2, 3, 2, 1, 2 или что-нить в этом роде, выделится память для всех объектов или же каждый раз объект будет переписываться в память начиная с позиции, на которую указвыает *obj?