C++中类成员初始化方式
职业培训
培训职业
2025-01-08
回顾一下:C++ 类定义需要使用关键字class来定义类名称,并将类的主体包含在花括号中,主体内包含类的成员变量和成员函数。类定义实质上是数据类型的蓝图。初始化类成员有三种方式:初始化列表、构造函数初始化、声明时初始化(C++11后支持)。初始化列表以冒号开始,后面列出
回顾一下:
C++ 类定义需要使用关键字class来定义类名称,并将类的主体包含在花括号中,主体内包含类的成员变量和成员函数。类定义实质上是数据类型的蓝图。
初始化类成员有三种方式:初始化列表、构造函数初始化、声明时初始化(C++11后支持)。
初始化列表以冒号开始,后面列出需要赋值的成员变量及值。使用初始化列表的情况包括:成员变量为引用类型、数据成员为常量、父类构造函数有参数或成员变量所属类型构造函数有参数。
在C++98中,就地声明允许在类声明中使用等号加初始值初始化静态成员常量。然而,就地声明的要求较高,静态成员必须是常量,且只能是整型或枚举型。而非静态成员变量必须在构造函数中初始化。
初始化顺序为:先就地声明,然后初始化列表,最后构造函数初始化。列表初始化值会覆盖声明时的值,构造函数的值又会覆盖列表的值。初始化列表中成员变量初始化顺序与变量声明顺序一致,与列表顺序无关。
声明时初始化带来便捷,与初始化列表和构造函数相比,无需在每个构造函数中复制成员变量的默认参数。推荐优先使用就地初始化和初始化列表。
标签
版权声明:本文由哟品培原创或收集发布,如需转载请注明出处。
上一篇:运行中机车乘务员必须认真什么
猜你喜欢
其他标签