Problem A: 让动物们叫起来吧!
Description
Tom家里养了很多动物,比如有鸭子、火鸡和公鸡。它们的叫声都不相同。现在,请编写类Animal、Cock、Turkey和Duck,根据给出的main()函数及样例分析每个类的属性、行为及相互关系,以模仿Tom家的情况。
提示:动物们都有自己的名字。
Input
输入有多行。第一行正整数M表示之后有M个测试用例,每个测试用例包括2部分:前一部分是动物的名字,后一部分是动物的类型(用A、B、C分别表示鸭子、火鸡和公鸡)。
Output
输出有M行,每个测试用例对应一样。见样例。
Sample Input
Sample Output
HINT
Append Code
int main(){ int cases; string name; char type; Animal *animal; cin>>cases; for (int i = 0; i < cases; i++) { cin>>name>>type; switch(type) { case 'A': animal = new Duck(name); break; case 'B': animal = new Turkey(name); break; case 'C': animal = new Cock(name); break; } animal->sound(); } return 0;}#include <iostream>using namespace std;class Animal{ public: Animal(){} virtual void sound(){}};class Cock:public Animal{ string name1;public: Cock(string n):name1(n){} void sound() { cout<<name1<<" is a cock, and it can crow."<<endl; }};class Turkey:public Animal{ string name2;public: Turkey(string n):name2(n){} void sound() { cout<<name2<<" is a turkey, and it can gobble."<<endl; }};class Duck:public Animal{ string name3;public: Duck(string n):name3(n){} void sound() { cout<<name3<<" is a duck, and it can quack."<<endl; }};int main(){ int cases; string name; char type; Animal *animal; cin>>cases; for (int i = 0; i < cases; i++) { cin>>name>>type; switch(type) { case 'A': animal = new Duck(name); break; case 'B': animal = new Turkey(name); break; case 'C': animal = new Cock(name); break; } animal->sound(); } return 0;}Problem A: 让动物们叫起来吧!的更多相关文章
- 实验12:Problem J: 动物爱好者
#define null ""是用来将字符串清空的 #define none -1是用来当不存在这种动物时,返回-1. 其实这种做法有点多余,不过好理解一些. Home Web B ...
- Problem 2128 最长子串(kmp+strstr好题经典)
Problem 2128 最长子串 Accept: 134 Submit: 523Time Limit: 3000 mSec Memory Limit : 65536 KB Probl ...
- Problem E: 动物爱好者
Problem E: 动物爱好者 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 882 Solved: 699[Submit][Status][Web ...
- 《动物世界》的剪刀石头布 HDU --- 6418
题目连接: https://vjudge.net/problem/1812686/origin emmm 这一题的资料来自<动物世界>这一个李易峰演的电影.. 主要的思路就是概率,但是会牵 ...
- 1199 Problem B: 大小关系
求有限集传递闭包的 Floyd Warshall 算法(矩阵实现) 其实就三重循环.zzuoj 1199 题 链接 http://acm.zzu.edu.cn:8000/problem.php?id= ...
- No-args constructor for class X does not exist. Register an InstanceCreator with Gson for this type to fix this problem.
Gson解析JSON字符串时出现了下面的错误: No-args constructor for class X does not exist. Register an InstanceCreator ...
- C - NP-Hard Problem(二分图判定-染色法)
C - NP-Hard Problem Crawling in process... Crawling failed Time Limit:2000MS Memory Limit:262144 ...
- Time Consume Problem
I joined the NodeJS online Course three weeks ago, but now I'm late about 2 weeks. I pay the codesch ...
- Programming Contest Problem Types
Programming Contest Problem Types Hal Burch conducted an analysis over spring break of 1999 and ...
随机推荐
- linux 内存-文档学习
ptmalloc http://www.malloc.de/en/ tcmalloc https://github.com/gperftools/gperftools jcmalloc http:// ...
- 记录Sql2012附加Sql2008的数据库出错的解决方案
只需要对要附加的数据文件[右键]->[属性]->[安全]->(选择“Authenticated Users”用户)[编辑]->让“Authenticated Users”用户具 ...
- Inquirer.js
一个使用界面进行交互的命令行集合 4.0以上的版本只支持node 6以上的,node4请使用3.x 目标和理念(hilosophy) 努力去做一个容易的 嵌入式的(embeddable) 和优美的命令 ...
- linux基础命令连接命令ln
ln -s /etc/issue /tmp/issue.soft 创建文件/etc/issue 的软连接/tmp/issue.soft 不带-s 生成硬链接文件. 软连接类似于windows的 ...
- live 2d js demo
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- SQL Server 2005 企业版没有 Microsoft SQL Server Management
我从网上下载的:SQL Server 2005 集成sp2的 企业版安装后没发现 Management Studio管理工具,起初以为是自己安装时没装上,昨天试了全部安装后还是没找到,很是郁闷,在网上 ...
- C# 结构与类的区别
一.定义方式 定义结构: struct PointStruct //默认的访问权限是 public { public int X { get; set; } public int Y { get; s ...
- javascript高级程序设计第3版——第4章 变量作用域以及内存
- 关于mfc学习小记(bug小记)
关于控件问题 基本上出错的都是类型不为LPCTSTR 解决方式: 1.字符串转换 _T(str) 例:_T("你说的都对") 关于button控件 按照老旧的方式为其关联函数中添加 ...
- 在浏览器端获取文件的MD5值
前几天接到一个奇怪的需求,要在web页面中计算文件的md5值,还好这个项目是只需兼容现代浏览器的,不然要坑死了. 其实对文件进行md5,对于后端来说是及其简单的.比如使用Node.js,只要下面几行代 ...