Что-то у меня с наследованием не ладится
Добавлено: 2009-05-18 15:56:31
Тестовая прога:
Результат:
Ожидалось:
Где я торможу?
Если заменить child = new Child - то всё ок.
В общих чертах нужно сделать список из объектов разного типа с обним родителем. Судя по тесту - список-то создастся правильно, а вот при разрушении - начнутся чудеса!
Код: Выделить всё
#include <stdio.h>
class Child;
class Parent {
public:
Parent() { printf("Parent constructor\n"); }
~Parent() { printf("Parent destructor\n"); }
};
class Child : public Parent {
public:
Child() { printf("Child constructor\n"); }
~Child() { printf("Child destructor\n"); }
};
int main (void) {
Parent *parent;
Child *child;
parent = new Child;
printf("\ndoing something\n\n");
delete parent;
return 0;
}
Код: Выделить всё
Parent constructor
Child constructor
doing something
Parent destructor
Код: Выделить всё
Parent constructor
Child constructor
doing something
Child destructor
Parent destructor
Если заменить child = new Child - то всё ок.
В общих чертах нужно сделать список из объектов разного типа с обним родителем. Судя по тесту - список-то создастся правильно, а вот при разрушении - начнутся чудеса!