函数题:狮虎兽*
请设计以下猫科动物、狮子、老虎、狮虎兽等 4 个类。
- CAT 为猫科动物类,它是公共基类,具有猫科动物的基本特性。包括:
一个保护数据成员:毛色。
三个公有成员函数:构造函数、析构函数和显示函数。
- LION 为狮子类,以公有方式继承 CAT 类,具有猫类的特性,但又有一些变化。包括:
三个公有成员函数:构造函数、析构函数和显示函数。
- TIGER 为老虎类,以公有方式继承 CAT 类,具有猫类的特性,但又有一些变化。包括:
三个公有成员函数:构造函数、析构函数和显示函数。
- LIGER 为狮虎兽类,同时以公有方式继承 LION 类和 TIGER 类,兼具狮子和老虎的特性。包括:
三个公有成员函数:构造函数、析构函数和显示函数。
#### 测试用例
- 样例一
c++
CAT *p;
p = new CAT("black");
p->Show();
delete p;
A black cat is born.
I'm a black cat.
A black cat is dead.
- 样例二
c++
CAT *p;
p = new LION("brown");
p->Show();
delete p;
A brown cat is born.
A brown lion is born.
I'm a brown lion.
A brown lion is dead.
A brown cat is dead.
- 样例三
c++
CAT *p;
p = new TIGER("stripes");
p->Show();
delete p;
A stripes cat is born.
A stripes tiger is born.
I'm a stripes tiger.
A stripes tiger is dead.
A stripes cat is dead.
- 样例四
c++
CAT *p;
p = new LIGER("white");
p->Show();
delete p;
A white cat is born.
A white lion is born.
A white tiger is born.
A white liger is born.
I'm a white liger.
A white liger is dead.
A white tiger is dead.
A white lion is dead.
A white cat is dead.
#### 裁判程序
c++
#include <iostream>
#include <string>
using namespace std;
/* 你提交的代码将被嵌在这里 */
int main()
{
string c;
CAT *p;
cin >> c;
p = new LIGER(c);
p->Show();
delete p;
return 0;
}
#### 输入样例
in
white
#### 输出样例
out
A white cat is born.
A white lion is born.
A white tiger is born.
A white liger is born.
I'm a white liger.
A white liger is dead.
A white tiger is dead.
A white lion is dead.
A white cat is dead.
答案:若无答案欢迎评论
- CAT 为猫科动物类,它是公共基类,具有猫科动物的基本特性。包括:
一个保护数据成员:毛色。
三个公有成员函数:构造函数、析构函数和显示函数。
- LION 为狮子类,以公有方式继承 CAT 类,具有猫类的特性,但又有一些变化。包括:
三个公有成员函数:构造函数、析构函数和显示函数。
- TIGER 为老虎类,以公有方式继承 CAT 类,具有猫类的特性,但又有一些变化。包括:
三个公有成员函数:构造函数、析构函数和显示函数。
- LIGER 为狮虎兽类,同时以公有方式继承 LION 类和 TIGER 类,兼具狮子和老虎的特性。包括:
三个公有成员函数:构造函数、析构函数和显示函数。
#### 测试用例
- 样例一
c++
CAT *p;
p = new CAT("black");
p->Show();
delete p;
A black cat is born.
I'm a black cat.
A black cat is dead.
- 样例二
c++
CAT *p;
p = new LION("brown");
p->Show();
delete p;
A brown cat is born.
A brown lion is born.
I'm a brown lion.
A brown lion is dead.
A brown cat is dead.
- 样例三
c++
CAT *p;
p = new TIGER("stripes");
p->Show();
delete p;
A stripes cat is born.
A stripes tiger is born.
I'm a stripes tiger.
A stripes tiger is dead.
A stripes cat is dead.
- 样例四
c++
CAT *p;
p = new LIGER("white");
p->Show();
delete p;
A white cat is born.
A white lion is born.
A white tiger is born.
A white liger is born.
I'm a white liger.
A white liger is dead.
A white tiger is dead.
A white lion is dead.
A white cat is dead.
#### 裁判程序
c++
#include <iostream>
#include <string>
using namespace std;
/* 你提交的代码将被嵌在这里 */
int main()
{
string c;
CAT *p;
cin >> c;
p = new LIGER(c);
p->Show();
delete p;
return 0;
}
#### 输入样例
in
white
#### 输出样例
out
A white cat is born.
A white lion is born.
A white tiger is born.
A white liger is born.
I'm a white liger.
A white liger is dead.
A white tiger is dead.
A white lion is dead.
A white cat is dead.
答案:若无答案欢迎评论