函数题:骡子*
请设计以下食草动物、马、驴、骡等 4 个类。
- HERB 为食草动物类,是公共基类,具有食草动物的基本特性。包括:
一个保护数据成员:appet(食量)。
三个公有成员函数:构造函数(初始化食量)、析构函数和 Show 函数(显示食量)。
- HORSE 为马类,以公有方式继承 HERB 类,具有食草动物的特性,还能跑得很快。包括:
一个保护数据成员:speed(速度)。
三个公有成员函数:构造函数、析构函数和 Show 函数(显示食量和速度)。
- DONKEY 为驴类,以公有方式继承 HERB 类,具有食草动物的特性,还能驼重物。包括:
一个保护数据成员:load(负重)。
三个公有成员函数:构造函数、析构函数和 Show 函数(显示食量和负重)。
- MULE 为骡类,同时以公有方式继承 HORSE 类和 DONKEY 类,兼具马和驴的特性。包括:
三个公有成员函数:构造函数、析构函数和 Show 函数(显示食量、速度和负重)。
#### 测试用例
- 样例一
c++
HERB *p;
p = new HERB(2.1);
p->Show();
delete p;
A herb is born.
I need 2.1 kg food.
A herb is dead.
- 样例二
c++
HERB *p;
p = new HORSE(4.5, 58.2);
p->Show();
delete p;
A herb is born.
A horse is born.
I need 4.5 kg food, I can run at 58.2 km/h.
A horse is dead.
A herb is dead.
- 样例三
c++
HERB *p;
p = new DONKEY(2.4, 213.7);
p->Show();
delete p;
A herb is born.
A donkey is born.
I need 2.4 kg food, I can carry 213.7 kg load.
A donkey is dead.
A herb is dead.
- 样例四
c++
HERB *p;
p = new MULE(2.8, 46.7, 208.9);
p->Show();
delete p;
A herb is born.
A horse is born.
A donkey is born.
A mule is born.
I need 2.8 kg food, I can run at 46.7 km/h, I can carry 208.9 kg load.
A mule is dead.
A donkey is dead.
A horse is dead.
A herb is dead.
#### 裁判程序
c++
#include <iostream>
using namespace std;
/* 你提交的代码将被嵌在这里 */
int main()
{
double a, s, l;
HERB *p;
cin >> a >> s >> l;
p = new MULE(a, s, l);
p->Show();
delete p;
return 0;
}
#### 输入样例
in
2.1 54.6 198.3
#### 输出样例
out
A herb is born.
A horse is born.
A donkey is born.
A mule is born.
I need 2.1 kg food, I can run at 54.6 km/h, I can carry 198.3 kg load.
A mule is dead.
A donkey is dead.
A horse is dead.
A herb is dead.
答案:若无答案欢迎评论
- HERB 为食草动物类,是公共基类,具有食草动物的基本特性。包括:
一个保护数据成员:appet(食量)。
三个公有成员函数:构造函数(初始化食量)、析构函数和 Show 函数(显示食量)。
- HORSE 为马类,以公有方式继承 HERB 类,具有食草动物的特性,还能跑得很快。包括:
一个保护数据成员:speed(速度)。
三个公有成员函数:构造函数、析构函数和 Show 函数(显示食量和速度)。
- DONKEY 为驴类,以公有方式继承 HERB 类,具有食草动物的特性,还能驼重物。包括:
一个保护数据成员:load(负重)。
三个公有成员函数:构造函数、析构函数和 Show 函数(显示食量和负重)。
- MULE 为骡类,同时以公有方式继承 HORSE 类和 DONKEY 类,兼具马和驴的特性。包括:
三个公有成员函数:构造函数、析构函数和 Show 函数(显示食量、速度和负重)。
#### 测试用例
- 样例一
c++
HERB *p;
p = new HERB(2.1);
p->Show();
delete p;
A herb is born.
I need 2.1 kg food.
A herb is dead.
- 样例二
c++
HERB *p;
p = new HORSE(4.5, 58.2);
p->Show();
delete p;
A herb is born.
A horse is born.
I need 4.5 kg food, I can run at 58.2 km/h.
A horse is dead.
A herb is dead.
- 样例三
c++
HERB *p;
p = new DONKEY(2.4, 213.7);
p->Show();
delete p;
A herb is born.
A donkey is born.
I need 2.4 kg food, I can carry 213.7 kg load.
A donkey is dead.
A herb is dead.
- 样例四
c++
HERB *p;
p = new MULE(2.8, 46.7, 208.9);
p->Show();
delete p;
A herb is born.
A horse is born.
A donkey is born.
A mule is born.
I need 2.8 kg food, I can run at 46.7 km/h, I can carry 208.9 kg load.
A mule is dead.
A donkey is dead.
A horse is dead.
A herb is dead.
#### 裁判程序
c++
#include <iostream>
using namespace std;
/* 你提交的代码将被嵌在这里 */
int main()
{
double a, s, l;
HERB *p;
cin >> a >> s >> l;
p = new MULE(a, s, l);
p->Show();
delete p;
return 0;
}
#### 输入样例
in
2.1 54.6 198.3
#### 输出样例
out
A herb is born.
A horse is born.
A donkey is born.
A mule is born.
I need 2.1 kg food, I can run at 54.6 km/h, I can carry 198.3 kg load.
A mule is dead.
A donkey is dead.
A horse is dead.
A herb is dead.
答案:若无答案欢迎评论