Qt уничтожение дочерних объектов, при наследовании от интерфейсных классов |
Здравствуйте, гость ( Вход | Регистрация )
Qt уничтожение дочерних объектов, при наследовании от интерфейсных классов |
wdefik |
3.4.2010, 14:59
Сообщение
#1
|
Студент Группа: Новичок Сообщений: 14 Регистрация: 4.3.2010 Пользователь №: 1505 Спасибо сказали: 0 раз(а) Репутация: 0 |
сразу к проблеме:
необходимо, чтобы классы, унаследованные от QT-классов обладали некоторым общим дополнительным интерфейсом, необходимым в контексте некоторой задачи. Как правильно организовать наследование и уничтожение объектов таких классов средствами Qt ? QT при уничтожении родительского класса вызывает деструктор дочернего или может, как всегда, что-нибудь более изощренное? т.е. например: CODE class Interface : public QWidget { public: Interface(QWidget *parent) : QWidget(parent){} virtual void func1()=0; virtual void func2()=0; virtual ~Interface(){} }; class Derived : public Interface { Derived(QWidget *parent) : Interface(parent){} virtual void func1(){} virtual void func2(){} ~Derived(){} }; int main(int argc, char* argv[]) { QApplication app(argc, argv); QMainWindow *ptr = new QMainWindow(0); Interface *Iptr = new Derived(ptr); return app.exec(); } А теперь сам вопрос: Как QT будет уничтожать такой объект? Наверное нужно читать документацию, но, к сожалению нет времени, так что ненавязчиво прошу просветить меня по этому вопросу? Корректен ли такой код? не будет ли утечек памяти? Новичок. Не пинать. |
|
|
Текстовая версия | Сейчас: 25.4.2024, 1:18 |