YTU.2638 编程题:多态--动物叫

Problem C: 编程题:多态--动物叫

Time Limit: 1 Sec   Memory Limit: 128 MB
Submit: 495   Solved: 421
[ Submit][ Status][ Web Board]

Description

/*
利用抽象基类来完成派生类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;
}

Input

无输入

Output

wangwang

miaomiao

Sample Output

wangwang
miaomiao

AC代码

#include <iostream>
using namespace std;
  
class animal   //抽象基类---动物类
{
public:
    virtual void jiao()=0;  //纯虚函数
};
class dog :public animal
{
public:
    void jiao()
    {
        cout<<"wangwnag"<<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;
}

猜你喜欢

转载自blog.csdn.net/jyl1159131237/article/details/80501761