函数题:水上飞机*
请设计以下航行器、飞机、船、水上飞机等 4 个类。
- CRAFT 为航行器类,是公共基类,提供航行器的基本特性。包括:
一个保护数据成员:speed(速度)。
三个公有成员函数:构造函数(初始化速度)、析构函数和 Show 函数(显示速度)。
- PLANE 为飞机类,以公有方式继承 CRAFT 类,在航行器类的基础上增加飞机的特性。包括:
一个保护数据成员:width(翼展)。
三个公有成员函数:构造函数(初始化速度和翼展)、析构函数和 Show 函数(显示速度和翼展)。
- SHIP 为船类,以公有方式继承 CRAFT 类,在航行器类的基础上增加船的特性。包括:
一个保护数据成员:depth(吃水深度)。
三个公有成员函数:构造函数(初始化速度和吃水深度)、析构函数和 Show 函数(显示速度和吃水深度)。
- SEAPLANE 为水上飞机类,同时以公有方式继承 PLANE 类和 SHIP 类,兼具飞机和船的特性。包括:
三个公有成员函数:构造函数(初始化速度、翼展、吃水深度)、析构函数和 Show 函数(显示速度、翼展和吃水深度)。
#### 测试用例
- 样例一
c++
CRAFT *p;
p = new CRAFT(87.2);
p->Show();
delete p;
创建航行器(速度: 87.2)
航行(速度: 87.2)
销毁航行器(速度: 87.2)
- 样例二
c++
CRAFT *p;
p = new PLANE(613.5, 45.3);
p->Show();
delete p;
创建航行器(速度: 613.5)
创建飞机(翼展: 45.3)
航行(速度: 613.5, 翼展: 45.3)
销毁飞机(翼展: 45.3)
销毁航行器(速度: 613.5)
- 样例三
c++
CRAFT *p;
p = new SHIP(45.8, 8.3);
p->Show();
delete p;
创建航行器(速度: 45.8)
创建船(吃水: 8.3)
航行(速度: 45.8, 吃水: 8.3)
销毁船(吃水: 8.3)
销毁航行器(速度: 45.8)
- 样例四
c++
CRAFT *p;
p = new SEAPLANE(415.2, 36.5, 2.1);
p->Show();
delete p;
创建航行器(速度: 415.2)
创建飞机(翼展: 36.5)
创建船(吃水: 2.1)
创建水上飞机
航行(速度: 415.2, 翼展: 36.5, 吃水: 2.1)
销毁水上飞机
销毁船(吃水: 2.1)
销毁飞机(翼展: 36.5)
销毁航行器(速度: 415.2)
#### 裁判程序
c++
#include <iostream>
using namespace std;
/* 你提交的代码将被嵌在这里 */
int main()
{
double s, w, d;
CRAFT *p;
cin >> s >> w >> d;
p = new SEAPLANE(s, w, d);
p->Show();
delete p;
return 0;
}
#### 输入样例
in
583.6 48.2 3.8
#### 输出样例
out
创建航行器(速度: 583.6)
创建飞机(翼展: 48.2)
创建船(吃水: 3.8)
创建水上飞机
航行(速度: 583.6, 翼展: 48.2, 吃水: 3.8)
销毁水上飞机
销毁船(吃水: 3.8)
销毁飞机(翼展: 48.2)
销毁航行器(速度: 583.6)
答案:若无答案欢迎评论
- CRAFT 为航行器类,是公共基类,提供航行器的基本特性。包括:
一个保护数据成员:speed(速度)。
三个公有成员函数:构造函数(初始化速度)、析构函数和 Show 函数(显示速度)。
- PLANE 为飞机类,以公有方式继承 CRAFT 类,在航行器类的基础上增加飞机的特性。包括:
一个保护数据成员:width(翼展)。
三个公有成员函数:构造函数(初始化速度和翼展)、析构函数和 Show 函数(显示速度和翼展)。
- SHIP 为船类,以公有方式继承 CRAFT 类,在航行器类的基础上增加船的特性。包括:
一个保护数据成员:depth(吃水深度)。
三个公有成员函数:构造函数(初始化速度和吃水深度)、析构函数和 Show 函数(显示速度和吃水深度)。
- SEAPLANE 为水上飞机类,同时以公有方式继承 PLANE 类和 SHIP 类,兼具飞机和船的特性。包括:
三个公有成员函数:构造函数(初始化速度、翼展、吃水深度)、析构函数和 Show 函数(显示速度、翼展和吃水深度)。
#### 测试用例
- 样例一
c++
CRAFT *p;
p = new CRAFT(87.2);
p->Show();
delete p;
创建航行器(速度: 87.2)
航行(速度: 87.2)
销毁航行器(速度: 87.2)
- 样例二
c++
CRAFT *p;
p = new PLANE(613.5, 45.3);
p->Show();
delete p;
创建航行器(速度: 613.5)
创建飞机(翼展: 45.3)
航行(速度: 613.5, 翼展: 45.3)
销毁飞机(翼展: 45.3)
销毁航行器(速度: 613.5)
- 样例三
c++
CRAFT *p;
p = new SHIP(45.8, 8.3);
p->Show();
delete p;
创建航行器(速度: 45.8)
创建船(吃水: 8.3)
航行(速度: 45.8, 吃水: 8.3)
销毁船(吃水: 8.3)
销毁航行器(速度: 45.8)
- 样例四
c++
CRAFT *p;
p = new SEAPLANE(415.2, 36.5, 2.1);
p->Show();
delete p;
创建航行器(速度: 415.2)
创建飞机(翼展: 36.5)
创建船(吃水: 2.1)
创建水上飞机
航行(速度: 415.2, 翼展: 36.5, 吃水: 2.1)
销毁水上飞机
销毁船(吃水: 2.1)
销毁飞机(翼展: 36.5)
销毁航行器(速度: 415.2)
#### 裁判程序
c++
#include <iostream>
using namespace std;
/* 你提交的代码将被嵌在这里 */
int main()
{
double s, w, d;
CRAFT *p;
cin >> s >> w >> d;
p = new SEAPLANE(s, w, d);
p->Show();
delete p;
return 0;
}
#### 输入样例
in
583.6 48.2 3.8
#### 输出样例
out
创建航行器(速度: 583.6)
创建飞机(翼展: 48.2)
创建船(吃水: 3.8)
创建水上飞机
航行(速度: 583.6, 翼展: 48.2, 吃水: 3.8)
销毁水上飞机
销毁船(吃水: 3.8)
销毁飞机(翼展: 48.2)
销毁航行器(速度: 583.6)
答案:若无答案欢迎评论