构造函数:
- 构造函数是在创建对象时自动调用的特殊成员函数。他的目的是初始化对象的成员变量,为对象分配资源,执行必要的初始化操作。构造函数特点包括:
- 函数名与类名同名:构造函数的函数名必须与类名同名,且没有返回类型
- **可以有多个构造函数:**一个类可以有多个构造函数,他们可以根据参数的类型和数量不同进行重载。
- **默认构造函数:**如果没有为类定义任何构造函数,编译器会自动生成一个默认构造函数,默认构造函数没有参数,也可能执行一些默认的初始化操作
class MyClass {
public:
// 默认构造函数
MyClass() {
// 初始化操作
}
// 带参数的构造函数
MyClass(int value) {
// 根据参数进⾏初始化操作
}
};
析构函数:
析构函数是在对象生命周期结束时自动调用的特殊成员函数。他的主要目的是释放对象占用的资源、执行必要的清理操作。析构函数的特点包括:
- 函数名与类名相同,前面加上波浪号:
- 没有参数:析构函数没有参数,不能重载,一个类只能有一个析构函数
- 默认析构函数:如果没有为类定义任何析构函数,编译器会自动生成一个默认析构函数,执行简单的清理操作
class MyClass {
public:
// 析构函数
~MyClass() {
// 清理操作,释放资源
}
};
构造函数不能是虚函数,析构函数可以是虚函数