纯虚函数之再谈星际争霸

试题描述

阿宝非常喜欢游戏“星际争霸”,并且对虫族情有独钟。他打算设计一个“虫宠天下”的游戏,游戏的主要角色都是虫族。请你设计基类虫族Zerg以及从基类公有派生出的三个派生类(矿工Drone、口水龙Hydralisk和蜘蛛Lurker)。各个类的成员描述分别如表1、表2、表3和表4所示。下面也给出了虫族补给站Lair(Zerg &)函数,每只进站的虫子(不限种类)均能得到10个血的大礼包,这是他们回血的方法之一。

相关阅读

c++|类改错B
c++|继承改错B
c++|典型运算符重载之集合类填空
c++|虚基类之构造函数填空
c++|类静态成员之英雄类
c++|纯虚函数之再谈星际争霸



   void Lair(Zerg &zerg) //虫族补给站函数
{zerg.AddBlood(10);
}
int main()
{int a, b, c;cin >> a >> b >> c;Drone zerg1, zerg4(a); //创建矿工对象Hydralisk zerg2, zerg5(b); //创建口水龙对象Lurker zerg3, zerg6(c); //创建蜘蛛对象Lair(zerg1); //进入补给站Lair(zerg2);Lair(zerg3);zerg1.ShowBlood(); //输出现有血量zerg2.ShowBlood();zerg3.ShowBlood();zerg4.ShowBlood();zerg5.ShowBlood();zerg6.ShowBlood();return 0;
}

注意:1.请务必提交完整的程序代码,不要修改代码框架。2.请不要修改试题描述中的所有标识符,注意大小写敏感。

输入

输入三个非负整数,相邻两项以空格隔开。

输出

依据题意输出若干行。

输入示例

200 2000 20000

输出示例

咯吱咯吱…我是勤劳的采矿工
噗噗噗噗…我是口水龙,口水威力无边
刷刷刷刷…我是潜行蜘蛛,刀过无痕
110
210
310
200
2000
20000

数据范围

输入int范围的非负整数

#include <iostream>
#include <algorithm>
using namespace std;
class Zerg{protected:int blood;
public:Zerg(int b = 0):blood(b){}void AddBlood(int b){blood += b;Laugh();}void ShowBlood(){cout << blood << endl;}virtual void Laugh()=0;
};
class Drone:public Zerg{public:Drone(int b = 100):Zerg(b){}void Laugh(){cout << "咯吱咯吱...我是勤劳的采矿工" << endl;}
};
class Hydralisk:public Zerg{public:Hydralisk(int b = 200):Zerg(b){}void Laugh(){cout << "噗噗噗噗...我是口水龙,口水威力无边" << endl;}
};
class Lurker:public Zerg{public:Lurker(int b = 300):Zerg(b){}void Laugh(){cout << "刷刷刷刷...我是潜行蜘蛛,刀过无痕" << endl;}
};
void Lair(Zerg &zerg) //虫族补给站函数
{zerg.AddBlood(10);
}
int main()
{int a, b, c;cin >> a >> b >> c;Drone zerg1, zerg4(a); //创建矿工对象Hydralisk zerg2, zerg5(b); //创建口水龙对象Lurker zerg3, zerg6(c);    //创建蜘蛛对象Lair(zerg1); //进入补给站Lair(zerg2);Lair(zerg3);zerg1.ShowBlood();  //输出现有血量zerg2.ShowBlood();zerg3.ShowBlood();zerg4.ShowBlood();zerg5.ShowBlood();zerg6.ShowBlood();return 0;
}

c++|纯虚函数之再谈星际争霸相关推荐

  1. 【C++】多态(早期绑定、后期绑定)、抽象类(纯虚函数)、虚析构函数

    我们都知道面向对象编程的三大特征是封装.继承.多态,今天我们就来说一下其中之一的多态. 概念: 多态: 多态字面意思就是多种形态,C++ 多态意味着调用成员函数时,会根据调用函数的对象的类型来执行不同 ...

  2. 一口气搞懂《虚函数和纯虚函数》

    学习C++的多态性,你必然听过虚函数的概念,你必然知道有关她的种种语法,但你未必了解她为什么要那样做,未必了解她种种行为背后的所思所想.深知你不想在流于表面语法上的蜻蜓点水似是而非,今天我们就一起来揭 ...

  3. C++知识点51——虚函数与纯虚函数(下)

    接上一篇文章https://blog.csdn.net/Master_Cui/article/details/109957146 10.练习 示例 class base { public:base() ...

  4. c++纯虚函数在父类中调用的规避

    构造和析构函数不允许调用纯虚函数,可以先调用虚函数,里面再调用纯虚函数实现. class Base{ public:     virtual void foo()=0;     Base() { ca ...

  5. C++中为什么要引入抽象基类和纯虚函数?

    为什么要引入抽象基类和纯虚函数? 主要目的是为了实现一种接口的效果. 抽象类是一种特殊的类,它是为了抽象和设计的目的为建立的,它处于继承层次结构的较上层. ⑴抽象类的定义:带有纯虚函数的类为抽象类. ...

  6. C++中的虚函数与纯虚函数

    文章目录 1 C++中的虚函数 1.1 虚函数 1.2 单个类的虚函数表 1.3 使用继承的虚函数表 1.4 多重继承的虚函数表 2 C++中的纯虚函数 1 C++中的虚函数 1.1 虚函数 虚函数的 ...

  7. 【c++】28.虚析构函数、纯虚函数

    1.虚函数:在类的成员函数前面加virtual关键字的函数: 一般把虚函数定义在public区,方便在主函数中调用 如果一个类有一个虚函数,则该类就有一个虚函数列表,所有该类的对象都共享这个虚函数表: ...

  8. 虚函数和纯虚函数的区别

    首先:强调一个概念 定义一个函数为虚函数,不代表函数为不被实现的函数. 定义他为虚函数是为了允许用基类的指针来调用子类的这个函数. 定义一个函数为纯虚函数,才代表函数没有被实现. 定义纯虚函数是为了实 ...

  9. C++ 虚函数和纯虚函数的区别

    首先:强调一个概念 定义一个函数为虚函数,不代表函数为不被实现的函数. 定义他为虚函数是为了允许用基类的指针来调用子类的这个函数. 定义一个函数为纯虚函数,才代表函数没有被实现. 定义纯虚函数是为了实 ...

最新文章

  1. 永远记住9月26号这一天!
  2. qtdesigner 组件全吗_百度营销工具有哪些?带你了解百度全链路营销
  3. str.endswith可以传入集合数据类型,而不仅仅是字符串
  4. java html中引入视频的格式_怎么在HTML网页中插入视频
  5. mysql command line client 目标不对_简单几招提高MySQL安全性
  6. System.out.println与System.err.println的区别
  7. window安装python3装环境变量_Windows下的Python安装与环境变量的配置
  8. 公众号应用模块-社群广场v2.2.9 修复版
  9. platform设备的添加
  10. mysql64位机安装和配置_MySQL学习第二天 安装和配置mysql winx64
  11. 基于ggplot2网络可视化(二)
  12. Flink 异步IO
  13. 天堂2芙蕾雅单机版mysql闪退_【图片】天堂2单机版-芙蕾雅。算是我这个老人对天堂2吧友的最后贡献吧!_天堂2吧_百度贴吧...
  14. 使用ensp搭建简单校园网拓扑
  15. 台式机机箱前置面板音频无效(win10系统)
  16. 微信小程序中 三元表达式
  17. 写在19年初的后端社招面试经历(两年经验): 蚂蚁 头条 PingCAP
  18. 俄罗斯android课程设计,基于Android的俄罗斯方块的设计与实现毕业设计报告.docx...
  19. 架构探险-轻量级微服务架构_第3部分-单活动架构+一些时髦的Dagger
  20. CSP-J 2022复赛T2 解密--分析

热门文章

  1. MindSpore:【AIR模型导出】导出时提示源码中select_op参数类型转换失败
  2. c 语言10个数首尾连接,相邻4个和,西安交通大学18年9月课程考试《计算机控制技术》作业考核试题答案...
  3. 3014C语言_运算符
  4. leetcode 974. 和可被 K 整除的子数组 详解
  5. 空气质量自动监测仪与采样泵
  6. 输掉战役赢战争(博弈论的诡计)
  7. 2019最新Android常用开源库总结
  8. 汽车金融风控企业如何开展风控体系建设
  9. 数据库MySQL的使用,带GUI界面
  10. python获取数组长度_Python返回数组(List)长度的方法