2014年6月9日

避免构造/析构函数调用虚函数(转)

摘要: 不要在类的构造或者析构函数中调用虚函数,因为这种调用不会如你所愿,即使成功一点,最后还会使你沮丧不已。如果你以前是一个Java或者C#程序员,请密切注意本节的内容-这正是C++与其它语言的大区别之一。 假设你有一个为股票交易建模的类层次结构,例如买单,卖单,等等。为该类交易建立审计系统是非常重要的... 阅读全文

posted @ 2014-06-09 22:16 hualimengyu 阅读(148) 评论(0) 推荐(0) 编辑

为什么构造函数不能为虚函数

摘要: 1,从存储空间角度 虚函数对应一个vtable,这大家都知道,可是这个vtable其实是存储在对象的内存空间的。问题出来了,如果构造函数是虚的,就需要通过 vtable来调用,可是对象还没有实例化,也就是内存空间还没有,无法找到vtable,所以构造函数不能是虚函数。2,从使用角度 虚函数主要用于在... 阅读全文

posted @ 2014-06-09 22:03 hualimengyu 阅读(230) 评论(0) 推荐(0) 编辑

导航