构造函数
#CPP
2024-10-31
构造函数特点:
- 默认提供无参构造,如何用户自定义有参构造将不再提供无参构造,需要用户自己定义一个无参构造。
- 构造函数可以重载,不像析构函数是不能重载的。
- 构造函数建议采用初始化列表初始化,初始化顺序要和成员变量声明的顺序保持一致。
- 构造函数的参数也可以按从右向左规则赋默认值,同样的,如果构造函数的声明和定义分开写,只用在声明或定义中的一处设置参数默认值,一般建议在声明中设置默认值。
- C++11之后,普通的数据成员也可以在声明时就进行初始化(类似于默认值的性质)。但一些特殊的数据成员初始化只能在初始化列表中进行,故一般情况下统一推荐在初始化列表中进行数据成员初始化。
类的数据成员中有指针时,意味着创建该类的对象时要进行指针成员的初始化,需要申请堆空间。
在初始化列表中申请空间,在函数体中复制内容。
1 |
|