C++ 析构函数

来源:这里教程网 时间:2026-02-16 16:05:00 作者:

析构函数是一个特殊的成员函数,与构造函数相反,与用于初始化对象的构造函数不同,析构函数销毁(或删除)对象。

析构函数语法:

~class_name()    {      //Some code   }

与构造函数类似,析构函数名称应与类名完全匹配。析构函数声明应始终以波形符(~)符号开头,如上面的语法所示。

什么时候析构函数被调用?

在以下情况下,析构函数自动调用

1)程序完成执行。

2)当包含局部变量的作用域({}括号)结束时。

3)当你调用delete运算符时。

析构函数示例

#include <iostream>using namespace std;class HelloWorld{public:  //Constructor  HelloWorld(){    cout<<"Constructor is called"<<endl;  }  //Destructor  ~HelloWorld(){    cout<<"Destructor is called"<<endl;   }   //Member function   void display(){     cout<<"Hello World!"<<endl;   }};int main(){   //Object created   HelloWorld obj;   //Member function called   obj.display();   return 0;}

输出:

Constructor is calledHello World!Destructor is called

析构函数规则

1)名称应以波形符号(~)开头,并且必须与类名匹配。

2)一个类中不能有多个析构函数。

3)与可以有参数的构造函数不同,析构函数不允许任何参数。

4)他们没有任何返回类型,就像构造函数一样。

5)当你没有在类中指定任何析构函数时,编译器会生成一个默认的析构函数并将其插入到代码中。

相关推荐