第十四周(项目一)——动物这样叫。

来源:互联网 发布:八中数据谷实验中学 编辑:程序博客网 时间:2024/04/30 09:46
/* 02.*烟台大学计算机学院学生 03.*All right reserved. 04.*文件名称*烟台大学计算机学院学生 05.*All right reserved. 06.*文件名称:动物这样叫07.*作者:王洪海 08.*完成日期:2013年5月27日 09.*版本号:v1.0 10.*对任务及求解方法的描述部分:动物这样叫 11.*我的程序: 12.*/  #include <iostream>#include <string>using namespace std;class Animal{public:  Animal (string n):name(n){}  virtual void cry() const =0;protected:  string name;};class Mouse:public Animal{  public:   Mouse (string n,char s):Animal(n),sex(s){}   ~Mouse(){}   virtual void cry() const   {       cout<<"我叫"<<name;       if(sex=='m')        cout<<", 是一只男老鼠,我的叫声是:";       else if(sex=='f')        cout<<", 是一只女老鼠,我的叫声是:";        cout<<"吱吱吱!"<<endl;   }  protected:   char sex;};class Cat:public Animal{  public:   Cat(string n):Animal(n){}   ~Cat(){}   virtual void cry() const   {       cout<<"我叫"<<name<<", 我是一只猫,我的叫声是: 喵喵喵!"<<endl;   }};class Dog:public Animal{  public:   Dog(string n):Animal(n){}   ~Dog(){}   virtual void cry() const   {       cout<<"我叫"<<name<<", 我是一只狗,我的叫声是: 汪汪汪!"<<endl;   }};class Giraffe:public Animal{  public:   Giraffe(string n,char s):Animal(n),sex(s){}   ~Giraffe(){}   virtual void cry() const   {      cout<<"我叫"<<name;      if(sex=='m')        cout<<", 是一只男长颈鹿,我的脖子太长,发不出声音来!";       else if(sex=='f')        cout<<", 是一只女长颈鹿,我的脖子太长,发不出声音来!";        cout<<"吱吱吱!"<<endl;   }  protected:   char sex;};int main( ){    Animal *p;    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
原创粉丝点击