Problem D: 虚函数练习:动物2
Description
长期的物种进化使自然界出现了生活在陆地上的陆生动物和生活在水中的水生动物。根据已有主函数编写动物类,陆生动物类和水生动物类。
Input
动物的体长,体重,性别;
水生动物的体长,体重,性别,游泳速度;
陆生动物的体长,体重,性别,奔跑速度;
Output
动物的体长,体重,性别;
水生动物的体长,体重,性别,游泳速度;
陆生动物的体长,体重,性别,奔跑速度;
Sample Input
52 22 f 62 32 m 122 72 42 m 102
Sample Output
height:52 weight:22 sex:f height:62 weight:32 sex:m swimming_speed:122 height:72 weight:42 sex:m running_speed:102
HINT
#include <iostream> using namespace std; class animal { protected: int hight; int weight; char sex; public: animal(int h,int w,char s): hight(h),weight(w),sex(s){} virtual void display() const { cout<<"height:"<<hight<<endl; cout<<"weight:"<<weight<<endl; cout<<"sex:"<<sex<<endl; } }; class aqu_animal:virtual public animal { protected: int swimming_speed; public: aqu_animal(int h,int w,char s,int s_p): animal(h,w,s),swimming_speed(s_p){} virtual void display() const { cout<<"height:"<<hight<<endl; cout<<"weight:"<<weight<<endl; cout<<"sex:"<<sex<<endl; cout<<"swimming_speed:"<<swimming_speed<<endl; }; }; class ter_animal:virtual public animal //lu生动物 { protected: int running_speed; //速度 public: ter_animal(int h,int w,char s,int r_p):animal(h,w,s),running_speed(r_p){} virtual void display() const { cout<<"height:"<<hight<<endl; cout<<"weight:"<<weight<<endl; cout<<"sex:"<<sex<<endl; cout<<"running_speed:"<<running_speed<<endl; } }; int main() { int a,b,s,r; char c; animal *p; cin>>a>>b>>c; animal pa(a,b,c); p=&pa; p->display(); cin>>a>>b>>c>>s; aqu_animal pb(a,b,c,s); p=&pb; p->display(); cin>>a>>b>>c>>r; ter_animal pc(a,b,c,r); p=&pc; p->display(); return 0; }
虚函数练习:动物2
时间: 2024-10-10 07:27:26