虚函数练习:交通工具信息
生活随笔
收集整理的這篇文章主要介紹了
虚函数练习:交通工具信息
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Problem E: 交通工具信息
Description
有一個(gè)交通工具類vehicle。將它為 基類派生的有派生小車類car,卡車類truck和輪船類boat。定義這些類,并使其可以顯示其各類交通工具的具體信息。
他們包括的信息,有例如以下幾種:
1.名字??? -----與輸入的名字相符合
2.時(shí)速(km/h)??? -----最高時(shí)速
3.耗油量(L/100km) ?? -----在經(jīng)濟(jì)時(shí)速下測(cè)得耗油量
小車類:
250km/h
14.8 L/100km
卡車類:
140km/h
18L/100km
輪船類:
50km/h
8.33L/100km
Input
輸入三個(gè)派生類相應(yīng)名字。
Output
輸出相應(yīng)類型的信息。
Sample Input
Mercedes_Benz Transport_truck BoatSample Output
Mercedes_Benz 250km/h 14.8L/100km Transport_truck 140km/h 18L/100km Boat 50km/h 8.33L/100kmHINT
#include <iostream> #include <string> using namespace std; class Vehicle { public:string name ; public: Vehicle (string h): name(h){} virtual void showinfo () const{cout<<name<<endl; } }; class Car :virtual public Vehicle { public: double Speed; double fuel ; public: Car (string h): Vehicle (h),Speed(250),fuel(14.8){} virtual void showinfo () const{cout<<name<<endl; cout<<Speed<<"km/h"<<endl; cout<<fuel<<"L/100km"<<endl; }}; class Truck :virtual public Vehicle { public:double Speed; double fuel ; public: Truck (string h): Vehicle (h),Speed(140),fuel(18){} virtual void showinfo () const{cout<<name<<endl; cout<<Speed<<"km/h"<<endl; cout<<fuel<<"L/100km"<<endl; }}; class Boat :virtual public Vehicle { public:double Speed; double fuel ; public: Boat (string h): Vehicle (h),Speed(50),fuel(8.33){} virtual void showinfo () const{cout<<name<<endl; cout<<Speed<<"km/h"<<endl; cout<<fuel<<"L/100km"<<endl; }};int main(){Vehicle *vp;string name0,name1,name2;cin>>name0;Car car(name0);cin>>name1;Truck truck(name1);cin>>name2;Boat boat(name2);vp=&car;vp->showinfo ();vp=&truck;vp->showinfo ();vp=&boat;vp->showinfo ();return 0;}
與50位技術(shù)專家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖
總結(jié)
以上是生活随笔為你收集整理的虚函数练习:交通工具信息的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Hadoop jobhistory历史服
- 下一篇: 开源团队协作 TMS 2.4.0 版本发