C++构造函数的参数初始化表

        对于常量类型和引用类型的数据成员,不能在构造函数中用赋值语句直接赋值,C++提供初始化表进行置初值。

        带有成员初始化表的构造函数的一般形式如下:

        类名::构造函数名([参数表])[:(成员初始化表)]

        {

              // 构造函数体

        }

         成员初始化表的一般形式为:

         数据成员名1(初始值1),数据成员名2(初始值2),……

        C++构造函数中初始化成员参数列表初始化成员(必须用的原因:对象成员的初始化,const修饰的成员的初始化,引用成员的初始化,子类调用父类的构造函数初始化父类成员)参数列表在构造函数执行之前执行,参数列表中执行的是初始化(所有的成员,无论是否出现在参数列表中,都会有初始化),参数列表的执行顺序与类中成员的声明顺序,与类的继承顺序相一致构造函数中执行的一般是赋值多重继承,虚继承构造函数的参数初始化列表的区别

        类对象的构造顺序:

        1.分配内存,调用构造函数时,隐式/显示的初始化各数据成员;

        2.进入构造函数后在构造函数中执行一般赋值与计算。

        使用初始化列表有两个原因:

        原因1.必须这样做:

        以下三种情况下需要使用初始化成员列表:

        一、需要初始化的数据成员是对象的情况(这里包含了继承情况下,通过显示调用父类的构造函数对父类数据成员进行初始化);

        二、需要初始化const修饰的类成员ÿ

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值