[YTU]_2638(编程题:多态--动物叫)

题目描述

/*
利用抽象基类来完成派生类dog和cat的定义,并利用指向基类的指针实现动态多态,输出不同类型动物的不同叫声。
请在下面的程序段基础上完成设计,只提交begin到end部分的代码
*/
#include <iostream>
using namespace std;
 
class animal   //抽象基类---动物类
{
public:
virtual void jiao()=0;  //纯虚函数
};
//将程序需要的其他成份写在下面,只提交begin到end部分的代码
//******************** begin ********************


//********************* end ********************
int main()
{
 animal *p=NULL;  //指向基类的指针
 dog  d;  //dog类对象
 cat  c;  //cat类对象
 p=&d;  //指向基类的指针指向派生类dog对象
 p->jiao(); //输出wangwang
 p=&c;  //指向基类的指针指向派生类cat对象
 p->jiao(); //输出miaomiao
 return 0;
}

输入

无输入

输出

wangwang

miaomiao

样例输出

wangwang
miaomiao
#include <iostream>
using namespace std;
  
class animal   //抽象基类---动物类
{
public:
    virtual void jiao()=0;  //纯虚函数
};
class dog:public animal
{
public:
    void jiao()
    {
        cout<<"wangwang"<<endl;
    }
};
class cat:public animal
{
public:
    void jiao()
    {
        cout<<"miaomiao"<<endl;
    }
};
int main()
{
 animal *p=NULL;  //指向基类的指针
 
 dog  d;  //dog类对象
 
 cat  c;  //cat类对象
 
 p=&d;  //指向基类的指针指向派生类dog对象
 
 p->jiao(); //输出wangwang
 
 p=&c;  //指向基类的指针指向派生类cat对象
 
 p->jiao(); //输出miaomiao
 
 return 0;
}

posted @ 2017-06-08 19:23  衣带渐宽、为伊憔悴  阅读(248)  评论(0编辑  收藏  举报