/*
*Copyright (c)2016,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:main.cpp
*作 者:秦超
*完成日期:2016年3月26日
*版 本 号:v1.0
*
*问题描述:基于问题(1),设计析构函数和构造函数
*/
#include <iostream>
using namespace std;
class Role
{
public:
Role(string na,int bl): name(na),blood(bl){life = blood > 0 ? true : false;}
~Role()
{
cout << name << "退出江湖..." << endl;
}
void setRole(string n,int b);
void show();
void eat(int s);
void attack();
void beAttack();
private:
string name;
int blood;
bool life;
};
void Role::setRole(string n,int b)
{
name=n;
blood=b;
if(b>0)
life=true;
else
life=false;
}
void Role::show()
{
if(life)
cout<<name<<" has "<<blood<<" blood"<<",is live"<<endl;
else
cout<<name<<" has "<<blood<<" blood"<<",is live"<<endl;
}
void Role::attack()
{
if(life)
{
blood=blood+1;
show();
}
}
void Role::beAttack()
{
if (life)
{
blood=blood-1;
show();
}
}
void Role::eat(int s)
{
if(life)
blood=blood+s;
}
int main()
{
Role mary("Mary",4);
Role jack("Jack",0);
mary.show();
jack.show();
return 0;
}
运行结果:
学习心得:
创建时的初始化和析构函数的作用时间。