编程小练习


  1. #include<iostream>  
  2. #include<string>  
  3. using namespace std;  
  4. class Animal  
  5. {  
  6. public :  
  7.     virtual void cry()=0;  
  8.   
  9. };  
  10. ///老鼠  
  11. class Mouse:public Animal  
  12. {  
  13. private:  
  14.     string name;  
  15.     string sex;  
  16. public:  
  17.     void cry();  
  18.     Mouse (string nam,char se);  
  19. };  
  20. Mouse::Mouse (string nam,char se)  
  21. {  
  22.     name=nam;  
  23.     if(se=='m')  
  24.         sex="男";  
  25.    else  
  26.        sex="女";  
  27.   
  28. }  
  29. void Mouse::cry()  
  30. {  
  31.     cout<<"我叫"<<name<<",是一只"<<sex<<"老鼠,我的叫声是:吱吱吱!"<<endl;  
  32.   
  33. }  
  34. ///猫  
  35. class Cat:public Animal  
  36. {  
  37. private:  
  38.     string name;  
  39. public :  
  40.     Cat(string nam):name(nam){}  
  41.     void cry();  
  42. };  
  43. void Cat::cry()  
  44. {  
  45.     cout<<"我叫"<<name<<",是一只猫,我的叫声是:喵喵喵!"<<endl;  
  46. }  
  47. ///狗  
  48. class Dog:public Animal  
  49. {  
  50. private:  
  51.     string name;  
  52. public:  
  53.     Dog(string nam):name(nam){}  
  54.     void cry();  
  55. };  
  56. void Dog::cry()  
  57. {  
  58.     cout<<"我叫"<<name<<",是一只狗,我的叫声是:汪汪汪!"<<endl;  
  59. }  
  60. ///长颈鹿  
  61. class Giaffe:public Animal  
  62. {  
  63. private:  
  64.     string name;  
  65.     string sex;  
  66. public:  
  67.     void cry();  
  68.     Giaffe(string nam,char se);  
  69. };  
  70. Giaffe::Giaffe(string nam,char se)  
  71. {  
  72.     name=nam;  
  73.         if(se=='m')  
  74.         sex="男";  
  75.     else  
  76.         sex="女";  
  77.   
  78.   
  79. }  
  80. void Giaffe::cry()  
  81. {  
  82.     cout<<"我叫"<<name<<",是"<<sex<<"长颈鹿,我的脖子太长,发不出声音来!"<<endl;  
  83. }  
  84.   
  85.   
  86.   
  87.   
  88. int main()  
  89. {  
  90.     Animal *p;  
  91. //    p = new Animal();  
  92.   //  p->cry();  
  93.     Mouse m1("jerry",'m');  
  94.     p=&m1;  
  95.     p->cry();  
  96.     Mouse m2("jemmy",'f');  
  97.     p=&m2;  
  98.     p->cry();  
  99.     Cat c1("tom");  
  100.     p=&c1;  
  101.     p->cry();  
  102.     Dog d1("droopy");  
  103.     p=&d1;  
  104.     p->cry();  
  105.     Giaffe g1("gill",'m');  
  106.     p=&g1;  
  107.     p->cry();  
  108.     return 0; 


  1. /*
     *Copyright (c) 2016,烟台大学计算机学院
     *All rights reserved.
     *文件名称:zwj.cpp
     *作    者:张伟晶
     *完成日期:2016年5月24日
     *版 本 号:v1.0
     *
     *问题描述:动物这样叫
     *输入描述:
     *程序输出:
     */
    #include<iostream>
    #include<string>
    using namespace std;
    class Animal
    {
    public :
        virtual void cry()=0;
    
    };
    ///老鼠
    class Mouse:public Animal
    {
    private:
        string name;
        string sex;
    public:
        void cry();
        Mouse (string nam,char se);
    };
    Mouse::Mouse (string nam,char se)
    {
        name=nam;
        if(se=='m')
            sex="男";
       else
           sex="女";
    
    }
    void Mouse::cry()
    {
        cout<<"我叫"<<name<<",是一只"<<sex<<"老鼠,我的叫声是:吱吱吱!"<<endl;
    
    }
    ///猫
    class Cat:public Animal
    {
    private:
        string name;
    public :
        Cat(string nam):name(nam){}
        void cry();
    };
    void Cat::cry()
    {
        cout<<"我叫"<<name<<",是一只猫,我的叫声是:喵喵喵!"<<endl;
    }
    ///狗
    class Dog:public Animal
    {
    private:
        string name;
    public:
        Dog(string nam):name(nam){}
        void cry();
    };
    void Dog::cry()
    {
        cout<<"我叫"<<name<<",是一只狗,我的叫声是:汪汪汪!"<<endl;
    }
    ///长颈鹿
    class Giaffe:public Animal
    {
    private:
        string name;
        string sex;
    public:
        void cry();
        Giaffe(string nam,char se);
    };
    Giaffe::Giaffe(string nam,char se)
    {
        name=nam;
            if(se=='m')
            sex="男";
        else
            sex="女";
    
    
    }
    void Giaffe::cry()
    {
        cout<<"我叫"<<name<<",是"<<sex<<"长颈鹿,我的脖子太长,发不出声音来!"<<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();
        Giaffe g1("gill",'m');
        p=&g1;
        p->cry();
        return 0;
    }
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值