C++:初始化列表

构造函数在上一篇帖子我们提到了对成员变量初始化的功能,出了在构造函数的函数体中队成员变量一个一个赋值以外,我们还可以采用初始化列表。

cpp 复制代码
#include<iostream>
using namespace std;

class AA
{
private:
	int a;
	const int b;
public:
	AA():b(200),a(100)
	{
		//a = 100;
	}

	AA(int n) :a(n),b(a)//也可以用参数来初始化变量
	{

	}

};


int main()
{
	AA aa;
	cout << aa.a << endl;
	cout << aa.b << endl;

    AA bb(10)
    cout << bb.a << endl;
	cout << bb.b << endl;
	
	return 0;
}

注意:

初始化列表的初始化顺序是按照成员变量的声明顺序。

它在构造函数前执行。

相关推荐
zerwave几秒前
从零实现简化 DDS 完整技术文档(含模块作用与详细注释)
linux·c++·机器人
事圆则缓4 分钟前
Kotlin 高阶工程化与 Android 深入实践
android·开发语言·kotlin
a187927218316 分钟前
【算法】动态规划入门:从打家劫舍到状态设计的三堂课
算法·leetcode·动态规划·dp·回溯·暴力
驭渊的小故事10 分钟前
java抽奖项目-奖品上传中传递参数类型的错误
java·开发语言
名字还没想好☜13 分钟前
Go 时间格式化为什么用 2006-01-02:time.Format/Parse 的参考时间、时区与解析踩坑
开发语言·后端·golang·go
Dream Cosmos16 分钟前
C++ 多态下篇:虚函数表、动态绑定与多态底层原理
开发语言·c++
2601_962071579 小时前
【Java报错已解决】org.springframework.beans.factory.BeanCreationException
java·开发语言
淡海水10 小时前
07-04-并发-ConcurrentBag-T-工作窃取WorkStealing算法
开发语言·算法·c#·bag·concurrent·workstealing
leobertlan10 小时前
好玩系列:训练一个神经网络模型指导小孩玩游戏2-大局观教练
算法
CS_Zero10 小时前
C语言sizeof是函数吗?
c语言·开发语言