- 全局变量,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. 思维导图