构造函数初始化数据成员
时间: 2023-06-13 08:07:45 浏览: 123
在 C++ 中,构造函数是用于初始化类的对象的特殊成员函数。构造函数可以在对象被创建时自动调用,以确保对象被正确初始化。构造函数可以在类的定义中声明和定义,也可以在类的外部定义。
对于类的数据成员,可以在构造函数的初始化列表中进行初始化。初始化列表是在构造函数的参数列表之后的冒号后面列出的一系列初始化语句,每个初始化语句用逗号分隔。例如:
```c++
class MyClass {
public:
MyClass(int a, int b) : x(a), y(b) {} // 初始化列表
private:
int x;
int y;
};
```
在上面的例子中,MyClass 类有两个 int 类型的数据成员 x 和 y,它们被分别初始化为构造函数参数列表中传入的 a 和 b。这样做可以提高代码的效率,因为在初始化列表中初始化数据成员比在构造函数体中赋值更高效。
需要注意的是,如果一个数据成员没有出现在构造函数的初始化列表中,它将被默认初始化。对于内置类型,它们的默认值是未定义的,而对于自定义类型,它们的默认构造函数将被调用。因此,在定义类时,应该考虑如何正确初始化所有的数据成员。
阅读全文