析构函数
类的析构函数是类的一种特殊的成员函数,它会在每次删除所创建的对象时执行。
析构函数的名称与类的名称是完全相同的,只是在前面加了个波浪号(~)作为前缀,它不会返回任何值,也不能带有任何参数。析构函数有助于在跳出程序(比如关闭文件、释放内存等)前释放资源。
class MyClass {
public:
~MyClass() {
// some code
}
};
析构函数在退出程序之前可以非常有用地释放资源。这可以包括关闭文件,释放内存等等。
例如,我们在头文件 MyClass.h 中为我们的 MyClass 类声明一个析构函数:
class MyClass
{
public:
MyClass();
~MyClass();
};

class MyClass
{
public:
MyClass();
~MyClass();
}
在头文件中声明析构函数后,我们可以在源文件 MyClass.cpp 中编写实现:
#include "MyClass.h"
#include <iostream>
using namespace std;
//双冒号范围解析运算符用于定义已经声明的特定类的成员函数。 请记住,我们在头文件中定义了构造函数原型
MyClass::MyClass()
{
cout<<"Constructor"<<endl;
}
MyClass::~MyClass()
{
cout<<"Destructor"<<endl;
}
请注意,我们包含 <iostream>,以便我们可以使用 cout。

MyClass::~Myclass()
{
cout << "some text"
}
由于析构函数不能带参数,所以也不能重载。每个类将只有一个析构函数。
定义析构函数不是强制性的。如果你不需要一个,你可以不定义。
让我们回到主函数来
#include <iostream>
#include "MyClass.h"
using namespace std;
int main() {
MyClass obj;
return 0;
}
我们包含了类的头文件,然后创建了这种类型的对象。
这将返回以下输出:
Constructor
Destructor
程序运行时,首先创建对象并调用构造函数。当程序执行完成时,对象被删除,析构函数被调用。
请记住,我们在构造函数中打印 “Constructor”,在析构函数中打印 “Destructor”。

文章评论