第十三周项目2-动物这样叫——1


  1. /* 
  2.  
  3. *Copyright (c) 2016,烟台大学计算机学院 
  4.  
  5. *All rights reserved. 
  6.  
  7. *文件名称 : 
  8.  
  9. *作 者 : 刘默涵 
  10.  
  11. *完成日期 : 2016年6月1号 
  12.  
  13. *版 本 号 : v6.0 
  14.  
  15. * 
  16.  
  17. *问题描述 : 根据给出的main()函数和运行结果的提示,设计出相关的各个类,注意观察运行结果,提取出每个类中需要的数据成员,并匹配上需要的成员函数。 
  18.  
  19. */  
  20.   
  21.   
  22. #include<iostream>  
  23. using namespace std;  
  24. class Animal  
  25. {  
  26. public:  
  27.     Animal(){}  
  28.     virtual void cry()  
  29.     {  
  30.         cout<<"不知哪种动物叫,叫我如何叫?"<<endl;  
  31.     }  
  32.   
  33. };  
  34.   
  35. class Mouse:public Animal  
  36. {  
  37. public:  
  38.     Mouse(string nam,char s):name(nam),c(s){}  
  39.     void cry()  
  40.     {  
  41.         cout<<"我叫"<<name<<",是一只";  
  42.          if(c=='f')cout<<"女";  
  43.          else cout<<"男";  
  44.         cout<<"老鼠,我的叫声是:吱吱吱!"<<endl;  
  45.     }  
  46. protected:  
  47.     string name;  
  48.     char c;  
  49. };  
  50. class Cat:public Animal  
  51. {  
  52. public:  
  53.     Cat(string nam):name(nam){}  
  54.     void cry()  
  55.     {  
  56.         cout<<"我叫"<<name<<",";  
  57.         cout<<"是一只猫,我的叫声是:喵喵喵!"<<endl;  
  58.     }  
  59. protected:  
  60.     string name;  
  61. };  
  62. class Dog:public Animal  
  63. {  
  64. public:  
  65.     Dog(string nam):name(nam){}  
  66.     void cry()  
  67.     {  
  68.         cout<<"我叫"<<name<<",";  
  69.         cout<<"是一只狗,我的叫声是:汪汪汪!"<<endl;  
  70.     }  
  71. protected:  
  72.     string name;  
  73. };  
  74. class Giraffe:public Animal  
  75. {  
  76. public:  
  77.     Giraffe(string nam,char s):name(nam),c(s){}  
  78.     void cry()  
  79.     {  
  80.         cout<<"我叫"<<name<<",是一只";  
  81.          if(c=='f')cout<<"女";  
  82.          else cout<<"男";  
  83.         cout<<"长颈鹿,我的脖子太长,发不出声音来!"<<endl;  
  84.     }  
  85. protected:  
  86.     string name;  
  87.     char c;  
  88. };  
  89. int main()  
  90. {  
  91.     Animal *p;  
  92.     p= new Animal();  
  93.     p->cry();  
  94.     Mouse m1("Jerry",'m');  
  95.     p=&m1;  
  96.     p->cry();  
  97.     Mouse m2("Jemmy",'f');  
  98.     p=&m2;  
  99.     p->cry();  
  100.     Cat c1("Tom");  
  101.     p=&c1;  
  102.     p->cry();  
  103.     Dog d1("Droopy");  
  104.     p=&d1;  
  105.     p->cry();  
  106.     Giraffe g1("Gill",'m');  
  107.     p=&g1;  
  108.     p->cry();  
  109.     return 0;  
  110. }  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值