Lesson4

在构造函数中使用初始化列表的三种情况,1、基类初始化 2、成员类对象初始化 3、常成员初始化

 

继承中 构造函数的初始化顺序是 先基类构造函数 再子对象的构造函数 再派生类的构造函数

 

对派生类中成员的初始化与成员初始化列表中给出的子对象顺序无关

 

虚继承

Class B

{

Int m_b;

}

Class A1:virtual public B

{

Int m_a1;

}

Class A2:virtual public B

{

Int m_a2;

}

Class C:public A1,public A2

{

Int m_c;

}

Int main()

{

C c1;

}

Sizeof(c1)=24

 

            *             m_a1                 *                 m_a2         m_c             m_b

 

类型兼容规则中所指的替代包括以下情况:

  • 子类对象可以当作父类对象使用
  • 子类对象可以直接赋值给父类对象
  • 子类对象可以直接初始化父类对象
  • 父类指针可以直接指向子类对象
  • 父类引用可以直接引用子类对象

 

A a;    //基类

A1 a1;   //子类

a=a1;

A *pa=new A1;

A &a=a1;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值