日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

6-29 水上飞机(*) (20分)多重继承

發(fā)布時間:2024/3/13 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 6-29 水上飞机(*) (20分)多重继承 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
  • 飛機類,同時以公有方式繼承PLANE類和SHIP類,兼具飛機和船的特性。包括:

    三個公有成員函數(shù):構(gòu)造函數(shù)(初始化速度、翼展、吃水深度)、析構(gòu)函數(shù)和Show函數(shù)(顯示速度、翼展和吃水深度)。

測試用例

1) 樣例一

CRAFT *p; p = new CRAFT(87.2); p->Show(); delete p; 創(chuàng)建航行器(速度: 87.2) 航行(速度: 87.2) 銷毀航行器(速度: 87.2)

2) 樣例二

CRAFT *p; p = new PLANE(613.5, 45.3); p->Show(); delete p; 創(chuàng)建航行器(速度: 613.5) 創(chuàng)建飛機(翼展: 45.3) 航行(速度: 613.5, 翼展: 45.3) 銷毀飛機(翼展: 45.3) 銷毀航行器(速度: 613.5)

3) 樣例三

CRAFT *p; p = new SHIP(45.8, 8.3); p->Show(); delete p; 創(chuàng)建航行器(速度: 45.8) 創(chuàng)建船(吃水: 8.3) 航行(速度: 45.8, 吃水: 8.3) 銷毀船(吃水: 8.3) 銷毀航行器(速度: 45.8)

4) 樣例四

CRAFT *p; p = new SEAPLANE(415.2, 36.5, 2.1); p->Show(); delete p; 創(chuàng)建航行器(速度: 415.2) 創(chuàng)建飛機(翼展: 36) 創(chuàng)建船(吃水: 2.1) 創(chuàng)建水上飛機 航行(速度: 415.2, 翼展: 36, 吃水: 2.1) 銷毀水上飛機 銷毀船(吃水: 2.1) 銷毀飛機(翼展: 36) 銷毀航行器(速度: 415.2)

測試程序

#include <iostream> using namespace std;/* 你提交的代碼將被嵌在這里 */int main() {CRAFT *p;p = new SEAPLANE(415.2, 36.5, 2.1);p->Show();delete p;return 0; }#### 輸出樣例```out 創(chuàng)建航行器(速度: 415.2) 創(chuàng)建飛機(翼展: 36.5) 創(chuàng)建船(吃水: 2.1) 創(chuàng)建水上飛機 航行(速度: 415.2, 翼展: 36.5, 吃水: 2.1) 銷毀水上飛機 銷毀船(吃水: 2.1) 銷毀飛機(翼展: 36.5) 銷毀航行器(速度: 415.2)

答案:

class CRAFT{
?? ?protected:
?? ??? ?double speed;
?? ?public:
?? ??? ?CRAFT(double a):speed(a)
?? ??? ?{cout<<"創(chuàng)建航行器(速度: "<<speed<<")"<<endl;}


?? ??? ?virtual? ~CRAFT()//一定要是virtual,不然后面的析構(gòu)都沒辦法進行


?? ??? ?{cout<<"銷毀航行器(速度: "<<speed<<")"<<endl;}
?? ??? ?virtual void Show()
?? ??? ?{cout<<"航行(速度: "<<speed<<")"<<endl;}
};


class PLANE:virtual public CRAFT{//關(guān)鍵字 virtual


?? ?protected:
?? ??? ?double wi;
?? ?public:
?? ??? ?PLANE(double a,double b):CRAFT(a),wi(b)
?? ??? ?{cout<<"創(chuàng)建飛機(翼展: "<<wi<<")"<<endl;}
?? ??? ?~PLANE()
?? ??? ?{cout<<"銷毀飛機(翼展: "<<wi<<")"<<endl;}
?? ??? ?void Show()
?? ??? ?{cout<<"航行(速度: "<<speed<<", 翼展: "<<wi<<")"<<endl; ?? ?}
?? ?
};


class SHIP:virtual public CRAFT{//關(guān)鍵字 virtual


?? ?protected:
?? ??? ?double de;
?? ?public:
?? ??? ?SHIP(double a,double b):CRAFT(a),de(b)
?? ??? ?{cout<<"創(chuàng)建船(吃水: "<<de<<")"<<endl;}
?? ??? ? ~SHIP()
?? ??? ?{cout<<"銷毀船(吃水: "<<de<<")"<<endl;}
?? ??? ?void Show(){
?? ??? ??? ?cout<<"航行(速度: "<<speed<<", 吃水: "<<de<<")"<<endl;
?? ??? ?}
};


class SEAPLANE:public PLANE,public SHIP{//這里的是 public

??? public:


?? ??? ?SEAPLANE(double a,double b,double c):PLANE(a,b),SHIP(a,c),CRAFT(a)

//這里有CRAFT 的初始化


?? ??? ?{
?? ??? ??? ?cout<<"創(chuàng)建水上飛機"<<endl;
?? ??? ?}
?? ??? ?~SEAPLANE()
?? ??? ?{cout<<"銷毀水上飛機"<<endl;}
?? ??? ?void Show(){
?? ??? ??? ?cout<<"航行(速度: "<<PLANE::speed <<", 翼展: "<<wi<<", 吃水: "<<de<<")"<<endl;
?? ??? ?}
};

?相似的例子在2020下 cpp課件Part_three One 部分

總結(jié)

以上是生活随笔為你收集整理的6-29 水上飞机(*) (20分)多重继承的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。