创建Dog类,成员变量int age ;string name 。大家完成类的创建 以及构造函数和析构函数的创建
析构函数的作用:释放栈里面的内存(栈资源),局部的变量。堆内存,补充析构函数体,能够释放堆内存里的资源。
说明: 用new创造出来的对象,析构函数要使用delete关键字进行删除释放。
#include <iostream>
#include <string.h>
using namespace std;
class Dog
{
public:
Dog(int age,string name);
void eat();
~Dog();//析构函数
private:
int age;
string name ;
};
Dog::Dog(int age,string name)
{
cout<<"调用构造函数"<<endl;
this->age=age;
this->name=name;
}
void Dog::eat()
{
cout<<age<<" is eating "<<name<<endl;
}
Dog::~Dog() //类外实现析构函数
{
cout<<"调用析构函数,析构"<<name<<endl;
}
int main()
{
Dog A(15,"zhansan");//先构造的函数后析构
A.eat();
Dog B(22,"lisi");
B.eat();
return 0;
}
输出结果:

说明: 先创建的构造函数,最后对这个进行析构。后创建的构造函数,先进行析构。创建构造函数后,结束时自动调用析构函数。