• C++走向远洋——56(项目二1、动物这样叫、虚函数)


    */
     * Copyright (c) 2016,烟台大学计算机与控制工程学院
     * All rights reserved.
     * 文件名:text.cpp
     * 作者:常轩
     * 微信公众号:Worldhello
     * 完成日期:2016年5月29日
     * 版本号:V1.0
     * 问题描述:虚函数
     * 程序输入:无
     * 程序输出:见运行结果
     */
    #include<iostream>
    #include<string>
    using namespace std;
    class Animal  
    {  
    public:  
      virtual void cry()  
        {  
          cout<<"不知哪种动物,让我如何学叫?"<<endl;  
        }  
    };  
    class Mouse:public Animal{      //老鼠
    private:
    	string name;
    	char sex;
    public:
    	Mouse(string nam,char s);
    	virtual void cry()
    	{
    		cout<<"我叫"<<name<<",是一只"<<((sex=='m')?"男":"女")<<"老鼠,我的叫声是:吱吱吱!"<<endl;
    	}
    };
    Mouse::Mouse(string nam,char s)
    {
    	name=nam;
    	sex=s;
    }
    class Cat:public Animal{
    private:
    	string name;
    public:
    	Cat(string nam);
    	virtual void cry()
    	{
    	   cout<<"我叫"<<name<<",是一只猫,我的叫声是:喵喵喵!"<<endl;
    	}
    };
    Cat::Cat(string nam)
    {
         name=nam;
    }
    class Dog : public Animal  
    {  
    private:  
        string name;  
    public:  
        Dog(string nam):name(nam) {}  
        virtual void cry()  
        {  
            cout<<"我叫"<<name<<",是一条狗,我的叫声是:汪汪汪!"<<endl;  
        }  
    };  
    class Giraffe : public Animal  
    {  
    private:  
        string name;  
        char sex;  
    public:  
        Giraffe(string nam,char s):name(nam), sex(s) {}  
        virtual void cry()  
        {  
            cout<<"我叫"<<name<<",是"<<((sex=='m')?"男":"女")<<"长颈鹿,我的脖子太长,发不出声音来!"<<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;  
    }  


    运行结果:


  • 相关阅读:
    BF算法(串模式匹配算法)
    python字符串 常用函数 格式化字符串 字符串替换 制表符 换行符 删除空白 国际货币格式
    python 列表
    python 循环语句
    http://www.pythontutor.com/visualize.html#mode=edit python在线检测代码
    GDI+_绘制QQ头像
    socket编程之select()
    socket编程之select()
    设置itemcontrol的item点击前后不同状态
    设置itemcontrol的item点击前后不同状态
  • 原文地址:https://www.cnblogs.com/chxuan/p/8232197.html
Copyright © 2020-2023  润新知