设为首页 加入收藏

TOP

4.2.3 析构函数
2013-10-07 01:16:55 来源: 作者: 【 】 浏览:73
Tags:4.2.3 函数

4.2.3  析构函数

析构函数也是一种特殊的成员函数,它执行和构造函数相反的工作。析构的特殊性质如下:

析构函数名称与类名相同,但前面加一个"~"。

一个类中只有一个析构函数,并且该函数不带任何参数。

当撤销对象时编译系统自动调用析构函数。

若程序员没有定义析构函数,编译系统会生成析构函数。

【示例4.13】 析构函数的使用。在类中定义一个成员函数,该函数的名称与类名相同,并且在前面添加一个"~",即定义了析构函数。

  1. #include"iostream.h"  
  2. #include"math.h"  
  3. class point  
  4. {  
  5. private:  
  6.     int x;int y;  
  7. public:  
  8.     float distance()            //类的成员函数  
  9.     {  
  10.         return sqrt(x*x+y*y);  
  11.     }  
  12.     point(int a,int b)          //类的构造函数  
  13.     {  
  14.         cout<<"构造函数被调用"<<endl;  
  15.         x=a;y=b;  
  16.     }  
  17.     ~point()                //类的析构函数  
  18.     {  
  19.         cout<<"析构函数被调用"<<endl;  
  20.     }  
  21. };  
  22. void main()  
  23. {  
  24.     point A(2,3);           //定义对象  
  25.  

程序运行结果如下所示。

  1. 构造函数被调用  
  2. 析构函数被调用 

分析:上例中在定义类的对象时,会自动调用类的构造函数。此时会输出一行,应用程序结束之前,系统会自动撤销对象,此时会调用析构函数。同时需要注意的是析构函数是不可以拥有参数的。

注意:前面在讲解函数时说过,如果一个函数没有定义一个返回类型,那么它会返回一个整数。然而,构造函数和析构函数都不可以被显式调用,它没有返回值。所以定义构造函数和析构函数时不可以指定返回类型,甚至定义为void类型也是错误的。

【责任编辑:云霞 TEL:(010)68476606】

回书目   上一节   下一节

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇4.3.1 友元函数 下一篇4.3.3 友元类

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: