- 全局变量,int monster = 10000;定义英雄类hero,受保护的属性string name,int hp,int attck;公有的无参构造,有参构造,虚成员函数 void Atk(){blood-=0;},法师类继承自英雄类,私有属性 int ap_atk=50;重写虚成员函数void Atk(){blood-=(attck+ap_atk);};射手类继承自英雄类,私有属性 int ac_atk = 100;重写虚成员函数void Atk(){blood-=(attck+ac_atk);}实例化类对象,判断怪物何时被杀死。(能写多少写多少)
#include <iostream>
using namespace std;
//血量
int blood =10000;
class hero{
protected:
string name;
int hp;
int attck;
public:
hero():name("na"),hp(0),attck(0){}
hero(string name,int hp,int attck):name(name),hp(hp),attck(attck){}
virtual void Atk(){
blood-=0;
}
};
class mage:public hero{
int ap_atk = 50;
public:
mage(){}
mage(string name,int hp,int attck):hero(name,hp,attck){}
void Atk(){
blood -=(attck+ap_atk);
}
};
class shooter:public hero{
int ac_atk = 100;
public:
shooter(){}
shooter(string name,int hp,int attck):hero(name,hp,attck){}
void Atk(){
blood-=(attck+ac_atk);
}
};
int main()
{
shooter sh("test",100,1000);
int count =0;
while (blood>0) {
sh.Atk();
count++;
}
cout << " count =" << count << endl;
// mage sh1("test",100,1000);
// int count1 =0;
// while (blood>0) {
// sh1.Atk();
// count1++;
// }
// cout << " count =" << count1 << endl;
return 0;
}
2. 思维导图