问题及代码:
/*
*烟台大学计算机学院
*文件名称:xiangmu2(2).cpp
*作 者:闫安
*完成日期:2016年4月7日
*版 本 号:codeblocks 16.01
*
*问题描述:设计构造函数,使角色对象在创建时被初始化;设计析构函数,当角色被撤销时,
提示句“XXX(名称)退出江湖...”。
*输入描述:无
*程序输出:任务的各种状态
*/
#include<iostream>
#include<cmath>
using namespace std;
class Role
{
public:
Role(string nam,string clo,int b);
~Role()
{
cout<<name<<"退出江湖..."<<endl;
}
void show();
bool isAlived();
private:
string name;
string cloth;
int blood;
bool life;
};
Role::Role(string nam,string clo,int b)
{
name=nam;
cloth=clo;
blood=b;
}
bool Role::isAlived()
{
return life;
}
void Role::show()
{
cout<<name<<" has "<<blood<<" blood, it is ";
if(isAlived())
cout<<"alived. ";
else
cout<<"dead. ";
cout<<"She is in "<<cloth<<" cloth."<<endl;
}
int main()
{
Role mary("Mary","red",4);
Role jack("Jack","blue",0);
mary.show();
jack.show();
return 0;
}
运行结果:
知识点总结:
运用了析构函数,将对象析构后,就没有了这个对象,也就是“退出江湖”。
学习心得:
并且先构造的后析构,后构造的先析构。