#1379. 飞机类plane(虚函数)
飞机类plane(虚函数)
说明
设计一个飞机类plane,由它派生出歼击机fighter类和轰炸机类bomber类,利用虚函数描述飞机类及其派生类族。飞机类包含:机翼、机身、尾翼、航程、乘员数属性,并且有显示函数display。
歼击机类增加导弹数属性同时有显示函数display。
轰炸机类增加载弹量属性同时有显示函数display。
主函数如下:
int main(){
double aerofoil, airframe, empennage, voyage;//机翼、机身、尾翼、航程
int passenger;//乘员数
int daodan;//导弹数
int zaidan;//载弹量
plane *vp;
char type;
while(cin>>type)
{
if(type=='f')
{cin>>aerofoil>>airframe>>empennage>>voyage>>passenger>>daodan;
fighter fighter1(aerofoil,airframe,empennage,voyage,passenger,daodan);//创建歼击机
vp=&fighter1;
vp->display();//显示歼击机
}
else if(type=='b')
{cin>>aerofoil>>airframe>>empennage>>voyage>>passenger>>zaidan;
bomber bomber1(aerofoil,airframe,empennage,voyage,passenger,zaidan);//创建轰炸机
vp=&bomber1;
vp->display();//显示轰炸机
}
else
break;}
return 0;
}
输入格式
若以f开头,接下来输入的是歼击机的属性,若以b开头,接下来输入的是轰炸机的属性。输出格式
对应输出派生类族的信息。f 10 6 2.5 1800 1 8
b 20 7 3.2 4000 2 6000
This is a fighter!
10 6 2.5 1800 1 8
This is a bomber!
20 7 3.2 4000 2 6000