第十三周实践项目一 动物的叫声

来源:互联网 发布:多益网络历年笔试题 编辑:程序博客网 时间:2024/04/30 19:51

问题及代码

/*  ALL rights reserved.                          *文件名称: 初学对象13                      作者:李长鸿                       *完成时间:2015.6.3                 *问题描述: 输入输出符号重载问题                  */    #include<iostream>using namespace std;class Animal{public:    virtual void cry()    {        cout<<"不知哪种动物,让我如何学叫?"<<endl;    }};class Mouse:public Animal{    string name;    char sex;public:    Mouse(string n,char s='f'):name(n),sex(s) {}    void cry()    {        cout<<"动物为:mouse"<<"; "<<"name="<<name<<"; "<<"sex="<<sex<<"; "<<"叫声为:吱"<<endl;    }};class Cat:public Animal{    string name;    char sex;public:    Cat(string n,char s='f'):name(n),sex(s) {}    void cry()    {        cout<<"动物为:cat"<<"; "<<"name="<<name<<"; "<<"sex="<<sex<<"; "<<"叫声为:喵"<<endl;    }};class Dog:public Animal{    string name;    char sex;public:    Dog(string n,char s='f'):name(n),sex(s) {}    void cry()    {        cout<<"动物为:dog"<<"; "<<"name="<<name<<"; "<<"sex="<<sex<<"; "<<"叫声为:汪"<<endl;    }};class Giraffe:public Animal{    string name;    char sex;public:    Giraffe(string n,char s='f'):name(n),sex(s) {}    void cry()    {        cout<<"动物为:giraffe"<<"; "<<"name="<<name<<"; "<<"sex="<<sex<<"; "<<"叫声为:sorry,我脖子太长,发不出叫声"<<endl;    }};int main( ){    Animal *p;    p = new Animal();    p->cry();    Mouse m1("Jerry",'m');    p=&m1;    p->cry();    Mouse m2("Jemmy",'f');    p=&m2;    p->cry();    Cat c1("Tom");    p=&c1;    p->cry();    Dog d1("Droopy");    p=&d1;    p->cry();    Giraffe g1("Gill",'m');    p=&g1;    p->cry();    return 0;}


0 0