c++ 6类构造函数
时间: 2024-09-23 21:01:58 浏览: 41
在 C++ 中,构造函数是一种特殊成员函数,它用于初始化新创建的对象。当你声明一个类,并为其分配内存时,构造函数会自动执行,确保对象的所有属性都被正确设置到初始状态。这里有六种常见的构造函数类型:
1. **默认构造函数** (Default Constructor): 如果类没有显式定义任何构造函数,那么编译器会提供一个默认的无参数构造函数。这种构造函数可以用于创建空对象。
```cpp
class MyClass {
public:
MyClass(); // 默认构造函数
};
```
2. **带参数的构造函数** (Parameterized Constructor): 这些接受一组参数,并使用这些参数值来初始化对象的数据成员。
```cpp
MyClass(int x) { value = x; } // 带一个 int 参数的构造函数
```
3. **复制构造函数** (Copy Constructor): 当你需要从已存在的对象创建一个新的实例时,这个构造函数会派上用场。它通常形式为 `MyClass(const MyClass& other)`。
4. **移动构造函数** (Move Constructor): 为了优化资源管理,当对象的生命周期即将结束时,移动构造函数会被用来快速地将资源转移到新的对象,而不是深拷贝。
```cpp
MyClass(MyClass&& other) noexcept : value(other.value) { other.value = nullptr; } // 移动构造函数
```
5. **析构函数** (Destructor): 析构函数在对象销毁前被调用,主要用于清理资源。虽然不是严格意义上的构造函数,但它与对象的生命周期密切相关。
6. **初始化列表构造函数** (Initializer List Constructor): 使用大括号 `{}` 定义,允许你在构造函数体内部直接对成员变量赋初值,提高效率和清晰度。
```cpp
MyClass(int a, int b) : x(a), y(b) {} // 使用初始化列表的构造函数
```
阅读全文