#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();
void st(int wu);
private:
string name;
int blood;
bool life;
int wuqi;
bool wq;
};
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)
{
if(wq)
{
blood=blood+wuqi;
cout<<name<<"攻击别人加血"<<wuqi<<",还剩"<<blood<<"血"<<endl;
}
}
}
void Role::beAttack()
{
if (life)
{
if(wq)
{
blood=blood-wuqi;
cout<<name<<"受到别人攻击,减血"<<wuqi<<",还剩"<<blood<<"血"<<endl;
}
}
}
void Role::eat(int s)
{
if(life)
blood=blood+s;
}
void Role::st(int wu)
{
wq=true;
wuqi=wu;
cout<<name<<"获得攻击力为:"<<wuqi<<"的武器"<<endl;
}
int main()
{
Role mary("Mary",4);
Role jack("Jack",5);
mary.show();
jack.show();
mary.st(2);
jack.st(3);
mary.attack();
jack.beAttack();
return 0;
}
运行结果: