继承中的默认构造函数
1. 基类的无参构造函数
若基类ctor未被显式调用,基类的默认构造函数就会被调用(注意此例中的即继承关系是Circle类继承于Shape)
要考虑给基类提供默认构造函数啊 ,不然很容易出现错误!!!!很容易被顶啊
构造链和析构链
1. 构造函数链
构造类实例会沿着继承链调用所有的基类ctor
调用次序: base first, derive next (父先子后)
2. 析构函数链
dtor与ctor正好相反
调用次序: derive first, base next (子先父后)
如果类中含有内嵌对象呢,其顺序又当如何呢,构造时,内嵌对象只是比被嵌对象类优先一步,析构时相反,可以参考如下代码图片:
执行的结果如下:
能推算出上述结果,算是真正理解了吧