C++中构造函数中构造另一个构造函数和List<构造函数>
时间: 2024-05-05 18:21:19 浏览: 142
在C++中,构造函数可以通过调用另一个构造函数来构造对象,这就是构造函数委托。
例如,我们有以下类:
```cpp
class MyClass {
public:
MyClass() {
// 构造函数委托到有一个参数的构造函数
MyClass("default");
}
MyClass(const std::string& name) : m_name(name) {
// 构造函数体
}
private:
std::string m_name;
};
```
在上面的代码中,我们可以看到默认构造函数通过构造函数委托调用了另一个构造函数,这样我们就可以避免代码重复。
此外,C++11引入了初始化列表初始化语法,可以方便地初始化类成员变量。我们可以使用初始化列表初始化语法来初始化List<构造函数>。
例如:
```cpp
class MyClass {
public:
MyClass() : m_list{1, 2, 3} {
// 构造函数体
}
private:
std::list<int> m_list;
};
```
在上面的代码中,我们使用初始化列表初始化语法来初始化m_list成员变量,这样我们就可以方便地初始化List<构造函数>。
阅读全文