[YTU]_2566( 虚基类练习:动物)
生活随笔
收集整理的這篇文章主要介紹了
[YTU]_2566( 虚基类练习:动物)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目描述
長(zhǎng)期的物種進(jìn)化使兩棲動(dòng)物既能活躍在陸地上,又能游動(dòng)于水中。利用虛基類建立一個(gè)類的多重繼承,包括動(dòng)物(animal,屬性有體長(zhǎng),體重和性別),陸生動(dòng)物(ter_animal,屬性增加了奔跑速度),水生動(dòng)物(aqu_animal,屬性增加了游泳速度)和兩棲動(dòng)物(amp_animal)。其中兩棲動(dòng)物保留了陸生動(dòng)物和水生動(dòng)物的屬性。
輸入
兩棲動(dòng)物的體長(zhǎng),體重,性別,游泳速度,奔跑速度(running_speed)
輸出
初始化的兩棲動(dòng)物的體長(zhǎng),體重,性別,游泳速度,奔跑速度(running_speed)和輸入的兩棲動(dòng)物的體長(zhǎng),體重,性別,游泳速度,奔跑速度(running_speed)
樣例輸入
52 22 f 102 122樣例輸出
height:50 weight:20 sex:m swimming_speed:100 running_speed:120height:52 weight:22 sex:f swimming_speed:102 running_speed:122#include <iostream>using namespace std;class animal{protected:int height; int weight; char sex; public:animal(){}animal(int h,int w,char s):height(h),weight(w),sex(s){}};class aqu_animal:virtual public animal {protected:int swimming_speed; public:aqu_animal(){}aqu_animal(int h,int w,char s,int s_p):animal(h,w,s),swimming_speed(s_p){}};class ter_animal:virtual public animal { protected:int running_speed; public:ter_animal(){};ter_animal(int h,int w,char s,int r_s):animal(h,w,s),running_speed(r_s){} }; class amp_animal:public aqu_animal,public ter_animal { public:amp_animal(){}amp_animal(int h,int w,char s,int s_p,int r_s):animal(h,w,s),aqu_animal(h,w,s,s_p), ter_animal(h,w,s,r_s){}void input(){cin>>height>>weight>>sex>>swimming_speed>>running_speed;}void show(){cout<<"height:"<<height<<endl<<"weight:"<<weight<<endl<<"sex:"<<sex<<endl<<"swimming_speed:"<<swimming_speed<<endl<<"running_speed:"<<running_speed<<endl;} }; int main(){amp_animal a1(50,20,'m',100,120);amp_animal a2;a2.input();a1.show();cout<<endl;a2.show();return 0;總結(jié)
以上是生活随笔為你收集整理的[YTU]_2566( 虚基类练习:动物)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: [YTU]_2475( C++习题 多重
- 下一篇: [YTU]_2622(B 虚拟继承(虚基