C++类的成员变量初始化

在C++中,类的成员变量可以在声明时进行初始化,也可以在构造函数中进行初始化。
它们之间有一些区别:

声明初始化:成员变量的声明初始化是在类的声明中为成员变量提供默认值。这样,无论通过哪个构造函数创建对象,成员变量都会使用相同的默认值。声明初始化使用等号(=)和初始值的形式来完成。

class MyClass {
public:
    int myInt = 0;  // 成员变量声明初始化
};

构造函数初始化:成员变量的构造函数初始化是在类的构造函数中为成员变量提供初始值。这允许根据不同的构造函数参数设置不同的初始值。构造函数初始化使用初始化列表(initializer list)来完成。

class MyClass {
public:
    int myInt;  // 成员变量声明
	bool myBool;  // 成员变量声明
    MyClass() : myInt(0) { myBool = true; }  // 构造函数初始化
    // 构造函数初始化,初始化列表根据参数设置不同的初始值
    MyClass(int value) : myInt(value) { myBool = false; }  
    // 构造函数初始化,不同构造函数设置不同初始值
    MyClass(int value) : myInt(value) { myBool = true; }  
};

在实际使用中,如果成员变量的初始值是固定的,且不会根据不同的构造函数参数而改变,可以使用声明初始化。
如果成员变量的初始值需要根据不同的构造函数参数而改变,可以使用构造函数初始化。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张芬奇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值