ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# **定义** * 以波浪号"~"为首字符,后面跟类名构成的名字为函数名的成员函数称为类的析构函数. * 析构函数声明: ~~~ ~类名(); ~~~ * 析构函数定义: ~~~ ~类名() { 语句序列 } ~~~ # **作用** * 析构函数在对象生存期结束时由系统自动调用,完成对象被清除前的一些清理工作. # **特点** * **不能有任何返回类型**,也不能带有任何参数,因此,析构函数不能重载. * 如果没有为一个类定义析构函数,编译器会为该类自动产生一个缺省析构函数. ## **例子** ~~~ #include<string> #include<iostream> using namespace std; class Student                     //声明Student类 { public:   student(int n,string nam,char s )//构造函数       {       num=n;           name=nam;           sex=s;           cout<<″Constructor called.″<<endl;         //输出有关信息                   }       ~Student( )                                 //定义析构函数       {       cout<<″Destructor called.″<<endl;       //输出有关信息       }             void display( )                             //定义成员函数       {       cout<<″num: ″<<num<<endl;           cout<<″name: ″<<name<<endl;           cout<<″sex: ″<<sex<<endl<<endl;       }   private:   int num;   char name[10];   char sex; }; ​ int main( ) { Student stud1(10010,″Wang_li″,′f′);     //建立对象stud1   stud1.display( );                       //输出学生1的数据     Student stud2(10011,″Zhang_fun″,′m′);   //建立对象stud2   stud2.display( );                     //输出学生2的数据   return 0; } ~~~