析构函数
#include<iostream> #include<string> #include<cstdlib> using namespace std; class student { public: //定义构造函数,带参数的构造函数 //方法1 /* student(int n,string nam,char s) { num=n; name=nam; sex=s; cout<<"Constructor called."<<endl; } */ // 方法2,参数初始化表对数据成员进行初始化 // student(int n,string nam,char s):num(n),name(nam),sex(s){} // 方法3,使用默认参数构造函数 student(int n=20,string nam="tangcong",char s='M'); /* 析构函数,在类名前加一个~,析构函数的作用并不是删除对象,而是在撤销对象占用的内存之前 完成一些清理工具,析构函数没有函数类型,也没有函数参数,所以 不能重载,也没有返回值,一个类可以有多个构造函数,但是只能有一个 析构函数。 析构函数的作用不公限于释放资源方面,它还可以被用来执行“用户希望在最后一次 使用对象之后所执行的任何操作,如输出有信息。 */ ~student( ) { cout<<"Destructor called."<<num<<endl; puts(""); } //当对象的生命期结束时,会自动执行析构函数。 void display( ) { cout<<"num: "<<num<<endl; cout<<"name: "<<name<<endl; cout<<"sex: "<< sex <<endl<<endl; } void set( ) { cin>>num; cin>>name; getchar(); cin>>sex; } private: int num; string name; char sex; }; student::student(int n,string nam,char s) { num=n; name=nam; sex=s; } void fun( ) { student stud1(0,"peter"); stud1.display(); //stud1.set(); //stud1.display(); student stud2(18,"congcong",'M'); stud2.display(); } int main( ) { fun(); // stud2.set(); //stud2.display(); system("pause"); return 0; }
posted on 2011-06-09 12:25 more think, more gains 阅读(234) 评论(0) 编辑 收藏 举报