2013 第十四周上机任务 项目一 动物的叫声

来源:互联网 发布:flac刻录cd软件 编辑:程序博客网 时间:2024/04/30 20:24
/* * Copyright (c) 2013, 烟台大学计算机学院                     * All rights reserved.                     * 文件名称:test.cpp                     * 作者:樊露露                    * 完成日期:2013 年 5 月 31 日                     * 版本号:v1.0                   *                     * 输入描述:无                     * 问题描述:以Animal类为基类,把动物的叫声cry定义成虚函数,输出各种动物的叫声                  * 程序输出:* 问题分析:                    * 算法设计:略                     */         #include <iostream>#include<string>using namespace std;class Animal{public:  virtual void cry()    {      cout<<"不知哪种动物,让我如何学叫?"<<endl;    }};class Mouse:public Animal{public:    //Mouse():name(0),sex(0) {};    Mouse(string name0,char sex0):name(name0),sex(sex0) {};    void cry();private:    string name;    char sex;};void Mouse::cry(){    if(sex=='m')        cout<<"我叫"<<name<<","<<"是一只男老鼠,我的叫声是:吱吱吱!"<<endl;    else        cout<<"我叫"<<name<<","<<"是一只女老鼠,我的叫声是:吱吱吱!"<<endl;}class Cat:public Animal{public:    Cat(string name0):name(name0) {};    void cry();private:    string name;};void Cat::cry(){    cout<<"我叫"<<name<<","<<"是一只猫,我的叫声是:喵喵喵!"<<endl;}class Dog:public Animal{public:    Dog(string name0):name(name0) {};    void cry();private:    string name;};void Dog::cry(){    cout<<"我叫"<<name<<","<<"是一只狗,我的叫声是:汪汪汪!"<<endl;}class Giraffe:public Animal{public:    //Mouse():name(0),sex(0) {};    Giraffe(string name0,char sex0):name(name0),sex(sex0) {};    void cry();private:    string name;    char sex;};void Giraffe::cry(){    if(sex=='m')        cout<<"我叫"<<name<<","<<"是一只男长颈鹿,我的脖子太长,发不出声音来!"<<endl;    else        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;}