为什么要把父类的析构函数定义成虚函数?关键字 把父类 析构函数 定义成虚函数?问:为什么要把父类的析构函数定义成虚函数?答:否则子类的析构函数可以未被调用,具体代码如下: class A { public: A(){TRACE("A()\n");}; ~A(){TRACE("~A()\n");}; }; class B : public A { public: B(){TRACE("B()\n");}; ~B(){TRACE("~B()\n");}; }; void CEgDlg::OnButton1() { A * p = (A*)new B() ; delete p ; } 运行结果如下: A() B() ~A() 上一篇:对话框完全显示后,马上执行一个按钮的事件 下一篇:如何修改一个编辑框的字体 [置顶] 如何给多维数组赋初值
|
|