1.类和对象
A(基类):含有缺省的构造函数
B(派生类):没有显式定义任何构造函数,B中包含了A类的对象
此种情况下,编译器会给B类合成默认的构造函数(在B类构造函数初始化列表位置调用A类的缺省构造函数)
2.继承
A(基类):有缺省的构造函数
B(派生类)public公有继承A:没有显式定义任何构造函数
编译器会给B类合成默认构造函数(在B类构造函数初始化列表位置)
合成的默认构造函数只做一件事:就是调用A类的缺省构造函数,从而构造A类对象)
3.虚拟继承
A:普通的类
B: class B:virtual public A--->编译器会给B合成默认的构造函数
4.如果一个类中包含虚函数,那编译器会给此类合成构造函数
那此类的对象会多4个字节,在对象的前4个字节位置
具体可参考上一篇博客:http://blog.csdn.net/dangzhangjing97/article/details/78567275