您的位置:首页 > 其它

只有虚析构函数没有虚构造函数

2014-04-28 03:28 274 查看
因为vbtl在构造函数调用后才建立,因而构造函数不可能成为虚函数.

关于析构函数的作用:  
在类的继承中,如果有基类指针指向派生类,那么用基类指针delete时,如果不定义成虚函数,派生类中派生的那部分无法析构。

http://blog.csdn.net/alane1986/article/details/6902233

当你用指向基类的指针指向派生类时如果通过指针删除该对象的话,应该呈现动态绑定,删除派生类的对象,就是说调用派生类的析构函数

http://bbs.csdn.net/topics/110114184 
原话帖参考

关键在于这里,
这里应该析构派生类的,很可惜这里只变成构造基类型,所以要把析构函数定义成virtual动态绑定
CPerson * poCPerson = new CStudent;        //构造一个CStudent的动态对象
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐