2016年2月3日

多重继承下的类型转换

摘要: 先来看看前面代码的内存布局。 之所以会出现pI1和pI2指向了同一个地址,是因为C++编译器没有足够的知识来把IA*类型转换为IB*类型,只能按照传统的C指针强制转换处理,也就是指针位置不变。为了验证上面的结论,简单的把pIA和pIB打印出来即可。把main()函数修改为如下: int main(i 阅读全文

posted @ 2016-02-03 11:27 cthu 阅读(221) 评论(0) 推荐(0) 编辑

多重继承下的类型转换

摘要: 主要解释强制类型转换的影响。因为static_cast会在编译期间检测,dynamice_cast会在运行时检测。#include #include using namespace std; class I1 { public: virtual void vf1() { cout m_cache; }; I1* CreateC() { return new C(); } int ... 阅读全文

posted @ 2016-02-03 11:21 cthu 阅读(1349) 评论(0) 推荐(0) 编辑

导航