亿缘网站建设,网站开发制作合同,江西企业网站建设哪家好,长春网站建设翻译整理思维导图复习课上代码全局变量#xff0c;int monster 10000;定义英雄类hero#xff0c;受保护的属性string name#xff0c;int hp,int attck#xff1b;公有的无参构造#xff0c;有参构造#xff0c;虚成员函数 void Atk(){blood-0;}#xff0c;法师类继承自英雄…整理思维导图复习课上代码全局变量int monster 10000;定义英雄类hero受保护的属性string nameint hp,int attck公有的无参构造有参构造虚成员函数 void Atk(){blood-0;}法师类继承自英雄类私有属性 int ap_atk50重写虚成员函数void Atk(){blood-(attckap_atk);}射手类继承自英雄类私有属性 int ac_atk 100重写虚成员函数void Atk(){blood-(attckac_atk);}实例化类对象判断怪物何时被杀死。(能写多少写多少) #include iostream
using namespace std;
// 全局变量代表怪物的血量
int blood 10000;class Hero
{
protected:// 英雄的名字string name;// 英雄的血量int hp;// 英雄的攻击力int attck;public:// 无参构造函数Hero() {}// 有参构造函数Hero(string n, int h, int a) : name(n), hp(h), attck(a) {}// 虚函数用于扣减敌人的血量virtual void Atk() { blood - 0; }
};class Mage : public Hero
{
private:// 法师的额外攻击力int ap_atk 50;public:Mage(string n, int h, int a):Hero(n,h,a) {}// 重写父类的虚函数void Atk() override { blood - (attck ap_atk); }
};class Archer : public Hero
{
private:// 射手的额外攻击力int ac_atk 100;public:Archer(string n, int h, int a):Hero(n,h,a){}// 重写父类的虚函数void Atk() override { blood - (attck ac_atk); }
};int main() {// 创建法师对象Mage mage1(Alice, 100, 100);// 创建射手对象Archer archer1(Bob, 100, 100);// 攻击怪物直到怪物的血量降为 0int s0;while (blood 0){mage1.Atk();if(blood0){archer1.Atk();}s;}// 输出杀死怪物信息cout s秒杀死怪物endl;return 0;
}