virtual 多重继承和虚析构
2012-12-14 17:18
417 查看
// viture.cpp : Defines the entry point for the console application. //virtual 多重继承和虚析构 #include "stdafx.h" #include <iostream> using namespace std; class A { public: int m_i; A() { cout<<"构造A"<<endl; } ~A() { cout<<"析构A"<<endl; } }; class B: public A { public: int m_j; B() { cout<<"构造B"<<endl; } ~B() { cout<<"析构B"<<endl; } }; class C: public A { public: int m_k; C() { cout<<"构造C"<<endl; } ~C() { cout<<"析构C"<<endl; } }; class D: public B, public C { public: D() { cout<<"构造D"<<endl; } ~D() { cout<<"析构D"<<endl; } }; int main(int argc, char* argv[]) { A *pa = new D(); delete pa; D *pd = new D(); delete pd; cout<<sizeof(D)<<endl; getchar(); return 0; }
1.上面默认打印什么?D的大小?
2.在全部析构函数加virtual 打印什么?D的大小?
3.在继承的public加vitual 打印什么?D的大小?
4.加上2和3的条件打印什么?D的大小?
相关文章推荐
- C++多重继承,virtual虚拟继承解决多重继承中的二义性
- 从零开始学C++之继承(三):多重继承、虚继承与虚基类
- virtual继承出来的类实例出现delete异常
- 从汇编看c++多重继承中this指针的变化
- Java 内部类最重要的作用-实现多重继承
- (1.4.1)虚继承、虚函数继承、多重继承和“含对象成员类的构造顺序”
- c++ 中的多重继承和其权限问题
- C++ 多重继承和虚继承 内存分布
- 多重继承、钻石继承和虚继承
- java中接口与多重继承的关系
- C++ 内存布局(二) 虚继承 ---Empty virtual base classs (空虚基类)
- 关于多重继承中覆盖虚基类的函数问题--《C++程序设计语言》
- Cpp多重继承会产生的问题
- C++之多重继承
- 一种javascript链式多重继承的方式(__proto__原型链)
- 信管14:多重继承示例一
- 信管14:多重继承-虚基类示例代码?
- 多重继承
- c++多重继承和虚继承及虚函数深入理解(转)
- C++多重继承引发的重复调用问题与解决方法