Default Constructor 建构操作

编译器必须为未声明constructor 之classes 合成一个default constructor

1.带有default constructor 的 member class object.

2.带有default constructor 的 base class object.

3.带有virtual Function 的class

   1.如:

   1) class 声明(或继承)一个virtual function.

   2) class 派生自一个继承串链,其中有一个或更多的virtual base classes.

  2.在编译期间会扩张操作

   1.一个virtual function table(vtbl)会被编译器产生出来,内放class 的virtual functions 地址

   2.在每一个class object 中,一个额外的pointer member(vptr)会被编译器合成出来,内含相关的class vtbl 的地址。

4.带有一个virtual base class 的class

 

 

在合成的default constructor 中,只有base class subobjects和member class objects会被初始化,所有其他的nonstatic data member,如整数,整数指针,整数数据等等都不会被初始化.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值