C++析构函数是在对象被销毁时自动调用的,无需手动调用。当对象的生命周期结束时,例如对象超出作用域、delete操作符被用于释放动态分配的对象,或者程序终止时,析构函数会被自动调用。
下面是一个示例:
#include <iostream>
using namespace std;
class MyClass {
public:
MyClass() {
cout << "构造函数被调用" << endl;
}
~MyClass() {
cout << "析构函数被调用" << endl;
}
};
int main() {
MyClass obj; // 创建一个对象
// 对象超出作用域,析构函数会被自动调用
return 0;
}
输出:
构造函数被调用
析构函数被调用
在上述示例中,当对象obj超出作用域时,析构函数会被自动调用,输出了"析构函数被调用"。