构造函数和析构函数都是类的一种特殊的成员函数。
构造函数在每次创建类的新对象时执行,构造函数的名称与类名称完全相同,并且不会返回任何类型,包括void认的构造函数没有任何参数,但如果需要,可以在创建对象时就给对象赋初值。
析构函数在每次删除所创建的对象时执行,析构函数的名称与类名称相同,不过在前面加了一个波浪号(~)作为前缀,它不会返回任何值,也不能带任何参数。析构函数有助于在跳出程序前释放资源。
实例如下:
#include<iostream>
#include<string>
using namespace std;
class Con
{
public:
string number;
string name;
int year;
Con(string,string,int);//构造函数声明
~Con();//析构函数声明
void xianshi(void);//用于输出类成员的值
};
//成员函数定义,包括构造函数
Con::Con(string N,string n,int y)
{
number=N;
name=n;
year=y;
}
Con::~Con(){
cout<<"谢谢使用!"<<endl;
}
void Con::xianshi()
{
cout<<number<<endl;
cout<<name<<endl;
cout<<year<<endl;
}
int main()
{
cout<<"请输入学号: ";
string N;
cin>>N;
cout<<"请输入姓名: ";
string n;
cin>>n;
cout<<"请输入年龄: ";
int y;
cin>>y;
Con C(N,n,y);
C.xianshi();
return 0;
}
个人初学,欢迎补充!!