#include <iostream>
using namespace std;
int blood=10000;
class hero
{
protected:
string name;
int hp;
int attck;
public:
hero(){cout<<"hero的无参构造函数"<<endl;}
hero(string name,int hp,int attck):name(name),hp(hp),attck(attck)
{
cout<<"hero的有参构造函数"<<endl;
}
virtual void Atk()
{
blood-=0;
}
};
class fs:public hero
{
int ap_atk=50;
public:
fs(string name,int hp,int attck):hero(name,hp,attck)
{
cout<<"fs的有参构造函数"<<endl;
}
void Atk()
{
blood-=(attck+ap_atk);
}
};
class ss:public hero
{
int ac_atk=100;
public:
ss(string name,int hp,int attck):hero(name,hp,attck)
{
cout<<"ss的有参构造函数"<<endl;
}
void Atk()
{
blood-=(attck+ac_atk);
}
};
int main()
{
fs p1("wzj",5000,500);
ss p2("hy",5000,500);
int count=0;
while(blood>0)
{
p1.Atk();
if(blood>0)
{
p2.Atk();
}
count++;
cout<<"怪物的血量还剩:"<<blood<<endl;
}
cout<<"射手法师攻击"<<count<<"次后怪物被杀死"<<endl;
return 0;
}