构造函数
构造函数是随着一个对象被创立,而调用,函数名与类名相同,没有返回值。
用处:可以在函数里面为一些变量设置初始值。
class People
{
public:
People();//构造函数
~People();//析构函数
};
实例:
#include <stdio.h>
#include<iostream>
using namespace std;
class People //一个类
{
public:
People();//构造函数的声明
void people_a();//普通函数的声明
};
/*****************构造函数的实现*************************/
People::People()
{
cout<<"调用构造函数"<<endl;
}
/******************普通函数的实现************************/
void People::people_a()
{
cout<<"使用people_a 这个函数"<<endl;
}
/**********主函数(使用控制台必须有这个main函数进行输出)********/
int main()
{
People people;//创建类People的一个对象
people.people_a();//调用对象people普通函数
system("pause");//这一句可以让控制台程序不会一闪而过
return 0;
}
运行结果:
调用构造函数
使用people_a 这个函数
析构函数:
析构函数是随着对象的销毁时调用的。
用处:跳出程序,释放内存,关闭文件,因为使用的指针申请了内存,内存并不会在作用域里面自动销毁,就需要手动销毁,或者写在析构函数里面,在对象销毁时销毁,以防内存泄漏问题。
实例:
#include <stdio.h>
#include<iostream>
using namespace std;
class People
{
public:
~People();
void people_a();
};
People::~People()
{
cout<<"在对象被删除时,调用析构函数"<<endl;
}
void People::people_a()
{
cout<<"使用people_a 这个函数"<<endl;
}
int main()
{
People people;
people.people_a();
system("pause");
return 0;
}
运行结果:
使用people_a 这个函数
在对象被删除时,调用析构函数
构造函数和析构函数被调用顺序的不同对应着他们的使用功能不同。