YTU 2954: A改错题--是虫还是草
2954: A改错题--是虫还是草
时间限制: 1 Sec 内存限制: 128 MB
提交: 83 解决: 55
题目描述
冬虫夏草为虫体与菌座相连而成,冬天是虫子,夏天却是草。根据类生物(biological),虫(insect),草(grass),虫草(insectgrass)的继承关系,输出生物的名字。
注:本题只需要提交修改和完善部分的代码,请按照C++方式提交。
#include <iostream>
using namespace std;
class Biological
{
public:
Biological(string name) { this->name=name; }
virtual void Say() =0;
virtual ~Biological() {}
string GetName() { return name; }
private:
string name;
};
/* 修改和完善该部分代码
class Insect:virtual public Biological
{
public:
Insect(string name):Biological(name) {}
virtual void Say() { cout<<this->GetName()<<"是虫"<<endl; }
virtual ~Insect() {}
};
class Grass:virtual public Biological
{
public:
Grass(string name):Biological(name) {}
virtual ~Grass() {}
};
class InsectGrass:public Insect,public Grass
{
public:
InsectGrass(string name):Insect(name),Grass(name) {}
virtual ~InsectGrass() {}
};
*/
int main()
{
Biological *p[3];
string name;
getline(cin,name);
p[0]=new Insect(name);
getline(cin,name);
p[1]=new Grass(name);
getline(cin,name);
p[2]=new InsectGrass(name);
for(int i=0; i<3; i++)
{
p[i]->Say();
delete p[i];
}
return 0;
}
输入
第一行,虫的名字
第二行,草的名字
第三行,虫草的名字
输出
每行输出相应的名字及类别。
样例输入
Coccinellidae
Prunella vulgaris
Cordyceps sinensis
样例输出
Coccinellidae是虫
Prunella vulgaris是草
Cordyceps sinensis是虫也是草
你 离 开 了 , 我 的 世 界 里 只 剩 下 雨 。 。 。
#include <iostream>
using namespace std;
class Biological
{
public:
Biological(string name)
{
this->name=name;
}
virtual void Say() =0;
virtual ~Biological() {}
string GetName()
{
return name;
}
private:
string name;
};
class Insect:virtual public Biological
{
public:
Insect(string name):Biological(name) {}
void Say()
{
cout<<this->GetName()<<"是虫"<<endl;
}
virtual ~Insect() {}
};
class Grass:virtual public Biological
{
public:
Grass(string name):Biological(name) {}
void Say()
{
cout<<this->GetName()<<"是草"<<endl;
}
virtual ~Grass() {}
};
class InsectGrass:public Insect,public Grass
{
public:
InsectGrass(string name):Insect(name),Grass(name),Biological(name) {}
void Say()
{
cout<<this->GetName()<<"是虫也是草"<<endl;
}
virtual ~InsectGrass() {}
};
int main()
{
Biological *p[3];
string name;
getline(cin,name);
p[0]=new Insect(name);
getline(cin,name);
p[1]=new Grass(name);
getline(cin,name);
p[2]=new InsectGrass(name);
for(int i=0; i<3; i++)
{
p[i]->Say();
delete p[i];
}
return 0;
}
#include <iostream>
using namespace std;
class Biological
{
public:
Biological(string name)
{
this->name=name;
}
virtual void Say() =0;
virtual ~Biological() {}
string GetName()
{
return name;
} private:
string name;
};
class Insect:virtual public Biological
{
public:
Insect(string name):Biological(name) {}
void Say()
{
cout<<this->GetName()<<"是虫"<<endl;
}
virtual ~Insect() {}
};
class Grass:virtual public Biological
{
public:
Grass(string name):Biological(name) {}
void Say()
{
cout<<this->GetName()<<"是草"<<endl;
}
virtual ~Grass() {}
};
class InsectGrass:public Insect,public Grass
{
public:
InsectGrass(string name):Insect(name),Grass(name),Biological(name) {}
void Say()
{
cout<<this->GetName()<<"是虫也是草"<<endl;
}
virtual ~InsectGrass() {}
};
int main()
{
Biological *p[3];
string name;
getline(cin,name);
p[0]=new Insect(name);
getline(cin,name);
p[1]=new Grass(name);
getline(cin,name);
p[2]=new InsectGrass(name);
for(int i=0; i<3; i++)
{
p[i]->Say();
delete p[i];
}
return 0;
}
YTU 2954: A改错题--是虫还是草的更多相关文章
- YTU 2610: A改错题--体检情况分析
2610: A改错题--体检情况分析 时间限制: 1 Sec 内存限制: 128 MB 提交: 233 解决: 161 题目描述 注:本题只需要提交标记为修改部分之间的代码,请按照C++方式提交. ...
- YTU 2609: A改错题--学生信息的输入和输出
2609: A改错题--学生信息的输入和输出 时间限制: 1 Sec 内存限制: 128 MB 提交: 238 解决: 157 题目描述 注:本题只需要提交标记为修改部分之间的代码,请按照C++方 ...
- YTU 2955: A改错题--销售部的打印机
2955: A改错题--销售部的打印机 时间限制: 1 Sec 内存限制: 128 MB 提交: 61 解决: 47 题目描述 销售部新进了一台快速打印机,使用频率很高.为了能够对打印情况进行统计 ...
- YTU 2580: 改错题----修改revert函数
2580: 改错题----修改revert函数 时间限制: 1 Sec 内存限制: 128 MB 提交: 194 解决: 82 题目描述 修改revert函数,实现输入N个数,顺序倒置后输出 #i ...
- YTU 2844: 改错题A-看电影
2844: 改错题A-看电影 时间限制: 1 Sec 内存限制: 128 MB 提交: 69 解决: 47 题目描述 注:本题只需要提交标记为修改部分之间的代码,请按照C++方式提交. 小平家长为 ...
- YTU 2838: 改错题AB-装置连接
2838: 改错题AB-装置连接 时间限制: 1 Sec 内存限制: 128 MB 提交: 81 解决: 49 题目描述 注:本题只需要提交标记为修改部分之间的代码,请按照C++方式提交. 有AB ...
- YTU 2960: 改错题--小鼠标,你要干什吗?
2960: 改错题--小鼠标,你要干什吗? 时间限制: 1 Sec 内存限制: 128 MB 提交: 118 解决: 62 题目描述 鼠标双击不同的图标产生不同的效果,比如双击文档(documen ...
- YTU 2639: 改错题:类中私有成员的访问
2639: 改错题:类中私有成员的访问 时间限制: 1 Sec 内存限制: 128 MB 提交: 431 解决: 297 题目描述 /* 改错题: 设计一个日期类和时间类,并编写全局函数displ ...
- YTU 2622: B 虚拟继承(虚基类)-沙发床(改错题)
2622: B 虚拟继承(虚基类)-沙发床(改错题) 时间限制: 1 Sec 内存限制: 128 MB 提交: 487 解决: 393 题目描述 有一种特殊的床,既能当床(Bed)用又能当沙发(S ...
随机推荐
- luoguT21777
#include <algorithm> #include <iostream> #include <cstring> #include <cstdio> ...
- 大数据学习——linux常用命令(五)
1 挂载外部存储设备 可以挂载光盘.硬盘.磁带.光盘镜像文件等 1/ 挂载光驱 mkdir /mnt/cdrom 创建一个目录,用来挂载 mount -t iso9660 -o ro / ...
- rest-assured(一)报错解决方案
1.javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection? --------1.端口设置错误 ----- ...
- Session保存用户名到Session域对象中
Session保存用户名 1.构造登录界面 用户名: 密 码: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <!DOCTYPE html> < ...
- 【HDOJ6298】Maximum Multiple(数论)
题意:给定n,求x,y,z三个整数,使得x|n,y|n,z|n,且xyz最小 n<=1e6 思路: 不定方程1/x+1/y+1/z=1 只有(2,3,6)(2,4,4) (3,3,3)三组正整数 ...
- BZOJ1704: [Usaco2007 Mar]Face The Right Way 自动转身机
n<=5000个数0或1,每次可以连续对固定长度区间取反,目标把所有1变0,求一个取反区间的固定长度K使取反次数最少. 答案关于K不单调,因此枚举K,对每个K扫一遍区间,遇到1就把连续K个数反转 ...
- SQL SERVER 2012 第四章 连接 JOIN の INNER JOIN
所有JOIN语句的共同点是:将一个记录与另外一个或多个记录匹配,从而生成一个新记录,这个记录是由两个记录的合并列所产生的一个超集. 内部连接: 内部连接语法结构:SELECT <select l ...
- HDU 1024 Max Sum Plus Plus【DP,最大m子段和】
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1024 题意: 给定序列,给定m,求m个子段的最大和. 分析: 设dp[i][j]为以第j个元素结尾的 ...
- python 爬虫(转,我使用的python3)
原文地址:http://blog.csdn.net/pi9nc/article/details/9734437 [Python]网络爬虫(一):抓取网页的含义和URL基本构成 分类: 爬虫 Pyt ...
- Hibernate学习笔记(三)
我是从b站视频上学习的hibernate框架,其中有很多和当前版本不符合之处,我在笔记中进行了修改以下是b站视频地址:https://www.bilibili.com/video/av14626440 ...