• sdut 6-2 多态性与虚函数


    6-2 多态性与虚函数

    Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^

    题目描写叙述

    通过本题目的练习能够掌握多态性的概念和虚函数的定义和用法
     
     
    要求定义一个基类Pet,它有一个字符指针型数据成员name和一个虚成员函数Speak()用于输出pet的叫声。;派生类Dog和Cat从基类Pet派生而来。

    他们从基类继承并又一次改写了speak()函数。分别用于输出Dog类和Cat类的叫声(详细输出内容參考演示样例输出)。要求利用虚函数技术编写代码,使得程序可以输出以下的内容。

    输入

    输出

    输出数据共同拥有3行。本题目要求输出内容必须与演示样例中的同样。

    演示样例输入

    
    

    演示样例输出

    How does a pet speak ?
    I am a cat,My name is Tom My sound is miao!miao!
    I am a dog,My name is Snoppy My sound is wang!wang!

    提示

     

    来源

     
    #include <iostream>
    
    using namespace std;
    
    class Pet
    {
    public :
        virtual void speak()//定义虚函数
        {
            cout<<"How does a pet speak ?"<<endl;
        }
    };
    
    class Cat: public Pet
    {
    public :
        void speak ()
        {
            cout <<"I am a cat,My name is Tom My sound is miao!miao!"<<endl;
        }
    };
    
    class Dog : public Pet
    {
    public :
        void speak()
        {
            cout<<"I am a dog,My name is Snoppy My sound is wang!wang!"<<endl;
        }
    };
    
    int main()
    {
        Pet p, *t;//定义Pet类对象的指针t
        Cat c;
        Dog d;
    
        t = &p;//t指针p
        t->speak();//调用p.speak功能
    
        t = &c;//t指针c
        t->speak();//调用c.speak功能
    
        t = &d;//t指针d
        t->speak();//调用d.speak功能
    
        return 0;
    }
    

  • 相关阅读:
    洛谷 P1494 [国家集训队]小Z的袜子 /【模板】莫队
    洛谷 P2801 教主的魔法
    数据库三范式
    vi和vim三种常见模式
    linux目录结构的具体介绍
    Linux怎么用root用户登录
    虚拟机的网络连接的三种方式
    事务
    数据库存储引擎
    delete和truncate
  • 原文地址:https://www.cnblogs.com/yxwkf/p/4560472.html
Copyright © 2020-2023  润新知