c++构造函数初始化列表
时间: 2023-06-29 07:02:33 浏览: 97
C++中的构造函数初始化列表是在构造函数的参数列表后面用冒号分隔开的一组初始化语句。它用于初始化类的成员变量,可以帮助提高代码的效率和可读性,避免类成员变量的默认初始化和赋值操作。
以下是示例代码:
```c++
class MyClass {
public:
MyClass(int a, int b, int c) : m_a(a), m_b(b), m_c(c) {
// 构造函数体
}
private:
int m_a;
int m_b;
int m_c;
};
```
在上述代码中,冒号后面的语句 `m_a(a), m_b(b), m_c(c)` 就是构造函数的初始化列表,它会将传入的参数 `a`、`b`、`c` 分别初始化到成员变量 `m_a`、`m_b`、`m_c` 中。
需要注意的是,如果成员变量是 const 或者引用类型,它们只能通过初始化列表进行初始化。同时,如果类中存在多个构造函数,可以使用委托构造函数来避免重复代码,并且委托构造函数必须放在初始化列表的最前面。
阅读全文