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

  • 相关阅读:
    python的pycharm虚拟环境问题
    Not Found: /graphql"GET /graphql HTTP/1.1" (Django)
    学习笔记257—word 第二行行首无法使用空格,是为什么?
    学习笔记256—蛋白质的合成过程及mRNA tRNA与rRNA区别
    学习笔记255—横向课题与纵向课题的区别是什么?
    1
    111
    11
    Gradle连载4依赖包打包方式 心悦君兮君不知
    [bug] MySQL错误“ERROR 2006 (HY000):MySQL server has gone away”
  • 原文地址:https://www.cnblogs.com/sxy201658506207/p/7586316.html
Copyright © 2020-2023  润新知