6-2 多态性与虚函数

来源:互联网 发布:腾讯云域名备案授权码 编辑:程序博客网 时间:2024/05/22 05:03

6-2 多态性与虚函数

Time Limit: 1000MS Memory Limit: 65536KB

Problem Description

通过本题目的练习可以掌握多态性的概念和虚函数的定义和使用方法
 
 
要求定义一个基类Pet,它有一个字符指针型数据成员name和一个虚成员函数Speak()用于输出pet的叫声。;派生类Dog和Cat从基类Pet派生而来。他们从基类继承并重新改写了speak()函数,分别用于输出Dog类和Cat类的叫声(具体输出内容参考示例输出)。要求利用虚函数技术编写代码,使得程序能够输出下面的内容。

Input

Output

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

Example Input

Example Output

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!

Hint

    
  #include <iostream>

using namespace std;

class Pet
{
public:
    virtual void Speak()
    {
        cout<<"How does a pet speak ?"<<endl;
    }
protected:
    const char* name;
};

class Dog:public Pet
{
public:
    Dog()
    {
        name="Snoppy";
    }
    void Speak()
    {
        cout<<"I am a dog,My name is "<<name<<" My sound is wang!wang!"<<endl;
    }
};

class Cat:public Pet
{
public:
    Cat()
    {
        name="Tom";
    }
    void Speak()
    {
        cout<<"I am a cat,My name is "<<name<<" My sound is miao!miao!"<<endl;
    }
};

int main()
{
    Pet p;
    p.Speak();
    Cat c;
    c.Speak();
    Dog d;
    d.Speak();
    return 0;
}


阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 孤篇压全唐 全压女王 压双眼皮全过程 风机静压和全压的区别 压虚线发生碰擦算全责吗 老板把我压在办去桌上全 压双眼皮恢复全过程 全压 全友家私 全友沙发 全友床垫 全友床 全友衣柜 全友定制 全友家居全友家私 全友家居和全友家私 全友床价格 全友实木 全友餐椅 全友皮沙发 全友餐桌 全友家具床 全友家 全友家居怎么样 顾家和全友哪个上档次 双虎和全友哪个好 全友布艺沙发 全友家具为什么便宜 全友家具怎么样 全友实木家具 全友全屋定制陷阱 掌上明珠和全友哪个好 全友家居电话 全友客服电话 全友家私沙发图片 全友家居团购 全友真皮沙发怎么样 全友实木高低床 全友家私布艺沙发 全友欧式家具图片