学习 C++ 也有一段时间了,但是对于虚析构函数还是一知半解。到底在什么情况下应该使用析构函数,什么情况下又不要使用呢?请高手帮忙说明一下,最好能配合一些实例讲解一下。先谢过了。
解决方案 »
- 请问如何接收窗口完全最小化后的消息
- classwizard 没有onsize事件
- 用jmail读取eml文件,高手稍稍指点一下,谢谢
- 为什么多视图失败了?谢谢解答
- 有趣的消息传递问题
- 请问ListView窗口,如果已经显示出来,我要删除它怎么办啊。谢谢
- 如何在回调函数中调用某个类的成员函数?
- 小弟出学VC编程有一事不明,请大家帮忙!
- 哪位大哥帮我救急我要VC++6哪里有得下,我在外面,我的本本系统崩了,现在只好上网,小地方没得买D版,我找不到谁知哪里下??
- 生成RELEASE版本时遇到的奇怪问题
- 下载了一些ATL做的COM组件源码,发现有些组件的接口,有.h和.idl两个文件,有的却只有.idl,这是怎么形成的?
- 寻求对话框打开和关闭的淡入淡出效果,谢谢!
...B pB = new A();delete B;//这里~B();尽量是虚拟的
...B pB = new A();delete B;//这里~B();尽量是虚拟的这段代码已经可以说明问题啦。
如果~B()不是虚拟的,程序就只会调用~B(),而不会去调用~A()
A pA = new A();
这样就没有问题啦,C++会自动按层次调用自己和基类的析构函数。