C++中类成员初始化方式

职业培训 培训职业 2025-01-08
回顾一下:C++ 类定义需要使用关键字class来定义类名称,并将类的主体包含在花括号中,主体内包含类的成员变量和成员函数。类定义实质上是数据类型的蓝图。初始化类成员有三种方式:初始化列表、构造函数初始化、声明时初始化(C++11后支持)。初始化列表以冒号开始,后面列出

回顾一下:

C++ 类定义需要使用关键字class来定义类名称,并将类的主体包含在花括号中,主体内包含类的成员变量和成员函数。类定义实质上是数据类型的蓝图。

初始化类成员有三种方式:初始化列表、构造函数初始化、声明时初始化(C++11后支持)。

初始化列表以冒号开始,后面列出需要赋值的成员变量及值。使用初始化列表的情况包括:成员变量为引用类型、数据成员为常量、父类构造函数有参数或成员变量所属类型构造函数有参数。

在C++98中,就地声明允许在类声明中使用等号加初始值初始化静态成员常量。然而,就地声明的要求较高,静态成员必须是常量,且只能是整型或枚举型。而非静态成员变量必须在构造函数中初始化。

初始化顺序为:先就地声明,然后初始化列表,最后构造函数初始化。列表初始化值会覆盖声明时的值,构造函数的值又会覆盖列表的值。初始化列表中成员变量初始化顺序与变量声明顺序一致,与列表顺序无关。

声明时初始化带来便捷,与初始化列表和构造函数相比,无需在每个构造函数中复制成员变量的默认参数。推荐优先使用就地初始化和初始化列表。

标签

版权声明:本文由哟品培原创或收集发布,如需转载请注明出处。

本文链接:http://www.yopinpei.com/20250108/2/1324398

猜你喜欢
其他标签