自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(2)
  • 收藏
  • 关注

原创 关于c++多态性实现的理解过程(给自己看的总结,比较跳跃)

之前在刚接触c++多态性的时候,关于为什么基类指针指向派生类对象,调用的是派生类的虚函数而不是基类的虚函数这一点,脑子的第一反应就是指针。用一个东西做多件事这种抽象性,很明显就是指针的行事作风。但是又没个具体的概念。如果用函数指针,怎么实现呢?很简单,假设虚函数的变量名都对应一个成员变量,在基类的函数指针成员变量里填上对应函数的入口地址,派生类填上另一个函数地址,那就实现多态性了嘛。再想想

2017-04-21 21:27:03 372

原创 为什么构造函数中调用的虚函数不具有多态性?

effective c++ 的item9中提到,不要在构造函数中调用虚函数,因为此时的虚函数不具有多态性。  给出的原因是说构造基类的时候,还未初始化派生类的成员变量。而网上很多说法说是虚表未建立。其实,结合类的内存模型,再稍加分析,很容易可以找出更具体的原因。具有虚函数的类的内存结构里除了非静态变量,还有一个虚指针,指向了虚表。  网上说的虚表为建立的说法是不合适的,因为同一个类的所有实例共

2017-04-21 21:13:35 1212

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除