第14周C++上机报告(Animal抽象基类)

来源:互联网 发布:免费销售统计软件 编辑:程序博客网 时间:2024/04/30 13:13
/** 程序的版权和版本声明部分* Copyright (c)2012, 烟台大学计算机学院学生* All rightsreserved.* 文件名称: object.cpp* 作者:王昕彤* 完成日期: 2013年 5 月 31 日* 版本号: v1.0* 输入描述:抽象基类Animal* 问题描述:* 程序输出:*/#include <iostream>using namespace std;class Animal  //抽象基类{public:    virtual void cry()    {        cout<<"不知哪种动物,让我如何学叫?"<<endl;    }};class Mouse: public Animal//老鼠{private:    string name;    char sex;public:    Mouse(string n,char s):name(n),sex(s) {};    void cry();};void Mouse::cry(){    if(sex=='m')        cout<<"我叫"<<name<<",是一只男老鼠,我的叫声是:吱吱吱!"<<endl;    else        cout<<"我叫"<<name<<",是一只女老鼠,我的叫声是:吱吱吱!"<<endl;}class Cat: public Animal//猫{private:    string name;public:    Cat(string n):name(n) {};    void cry();};void Cat::cry(){    cout<<"我叫"<<name<<",是一只猫,我的叫声是:喵喵喵!"<<endl;}class Dog: public Animal//狗{private:    string name;public:    Dog(string n):name(n) {};    void cry();};void Dog::cry(){    cout<<"我叫"<<name<<",是一条狗,我的叫声是:汪汪汪!"<<endl;}class Giraffe: public Animal//长颈鹿{private:    string name;    char sex;public:    Giraffe(string n,char s):name(n),sex(s) {};    void cry();};void Giraffe::cry(){    cout<<"我叫"<<name<<",是男长颈鹿,我的脖子太长,发不出声音来!"<<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;}


运行结果:

原创粉丝点击