C++day5作业

全局变量,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);}实例化类对象,判断怪物何时被杀死。(能写多少写多少)

cpp 复制代码
#include <iostream>
//int monster = 10000;
int blood = 10000;
using namespace std;

class hero
{
protected:
    string name;
    int hp;
    int attck;
public:
    hero(){}//无参构造
    hero(string name,int hp,int attck):name(name),hp(hp),attck(attck){}//有参构造

    virtual void Atk(){blood-=0;}
};


class apc:public hero
{
    int ap_atk=50;
public:
    apc(string name,int hp,int attck):hero(name,hp,attck){}//构造
    void Atk(){blood-=(attck+ap_atk);}
};


class adc:public hero
{
    int ac_atk=100;
public:
    adc(string name,int hp,int attck):hero(name,hp,attck){}//构造
    void Atk(){blood-=(attck+ac_atk);}
};
int main()
{
    apc ap("a",0,50);
    adc ad("b",0,100);
    hero *p=&ap;
    hero *q=&ad;
    int number = 0;
    while(blood>0)
    {
        p->Atk();
        q->Atk();
        number++;
    }
    cout << "number= " << number <<endl;
    return 0;
}

效果图:

相关推荐
paterWang1 小时前
基于 Python 和 OpenCV 的酒店客房入侵检测系统设计与实现
开发语言·python·opencv
东方佑1 小时前
使用Python和OpenCV实现图像像素压缩与解压
开发语言·python·opencv
mit6.8242 小时前
[实现Rpc] 通信类抽象层 | function | using | 解耦合设计思想
c++·网络协议·rpc
我真不会起名字啊2 小时前
“深入浅出”系列之杂谈篇:(3)Qt5和Qt6该学哪个?
开发语言·qt
laimaxgg2 小时前
Qt常用控件之单选按钮QRadioButton
开发语言·c++·qt·ui·qt5
水瓶丫头站住2 小时前
Qt的QStackedWidget样式设置
开发语言·qt
尼尔森系3 小时前
排序与算法:希尔排序
c语言·算法·排序算法
小钊(求职中)3 小时前
Java开发实习面试笔试题(含答案)
java·开发语言·spring boot·spring·面试·tomcat·maven
ox00804 小时前
C++ 设计模式-命令模式
c++·设计模式·命令模式
GEEK.攻城狮4 小时前
使用VSCODE开发C语言程序
c语言·ide·vscode