虚函数练习:动物长期的物种进化使自然界出现了生活在陆地上的陆生动物和生活在水中的水生动物。根据已有主函数编写动物类,陆生动物类和水生动物类。

来源:互联网 发布:软件开发数据库设计 编辑:程序博客网 时间:2024/04/30 19:04

Input

动物的体长,体重,性别;

水生动物的体长,体重,性别,游泳速度;

陆生动物的体长,体重,性别,奔跑速度;

Output

动物的体长,体重,性别;

水生动物的体长,体重,性别,游泳速度;

陆生动物的体长,体重,性别,奔跑速度;

代码如下:

 

#include<iostream>
using namespace std;
class animal //虚基类动物
{
public:
 animal(int h,int w,char s):height(h),weight(w),sex(s){}//构造函数
  virtual void display()//虚函数
  {
   cout<<"height:"<<height<<endl;
   cout<<"weight:"<<weight<<endl;
   cout<<"sex:"<<sex<<endl;
  }
protected://便于子类调用
 int height,weight;
 char sex;
};

class aqu_animal:public animal//水生动物类
{
public:
 aqu_animal(int h,int w,char s,int s_s):animal(h,w,s),swimming_speed(s_s){}//构造函数
 virtual void display()//子类的输出函数
 {
  animal::display();
  cout<<"swimming_speed:"<<swimming_speed<<endl;
 }
private:
 int swimming_speed;
};

class ter_animal:public animal//陆生动物类
{
public:
 ter_animal(int h,int w,char s,int r_s):animal(h,w,s),running_speed(r_s){}//构造函数
 virtual void display()
 {
  animal::display ();
  cout<<"running_speed:"<<running_speed<<endl;
 }
private:
 int running_speed;
};

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;
}

 

 

0 0
原创粉丝点击