Модератор: Fastman
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
de-signer
- сержант
- Сообщения: 220
- Зарегистрирован: 2007-05-11 14:39:01
- Откуда: Отсюда :)
Непрочитанное сообщение
de-signer » 2009-05-18 15:56:31
Тестовая прога:
Код: Выделить всё
#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 - то всё ок.
В общих чертах нужно сделать список из объектов разного типа с обним родителем. Судя по тесту - список-то создастся правильно, а вот при разрушении - начнутся чудеса!
---
"Если я рассуждаю логично, то это значит только то, что я не сумашедший, но вовсе не доказывает, что я прав" (с)И.П.Павлов
de-signer
-
Хостинг HostFood.ru
-
Хостинг HostFood.ru
Тарифы на хостинг в России, от 12 рублей:
https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.:
https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах:
https://www.host-food.ru/domains/
-
paradox
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Непрочитанное сообщение
paradox » 2009-05-18 16:01:52
помоему деструктор в паренте должен быть виртуальным
точно уже не помню
но методом проб и ошибок можно понять
пробуй
paradox
-
de-signer
- сержант
- Сообщения: 220
- Зарегистрирован: 2007-05-11 14:39:01
- Откуда: Отсюда :)
Непрочитанное сообщение
de-signer » 2009-05-18 16:04:24
paradox - огромное спасибо... совсем забыл.
---
"Если я рассуждаю логично, то это значит только то, что я не сумашедший, но вовсе не доказывает, что я прав" (с)И.П.Павлов
de-signer