14-1

来源:互联网 发布:mac在美国多少钱一支 编辑:程序博客网 时间:2024/04/30 13:50
/* * 程序的版权和版本声明部分 * Copyright (c)2012, 烟台大学计算机学院学生 * All rightsreserved. * 文件名称:abc.cpp * 作 者:杨蕾 * 完成日期: 2013 年 6 月 6日 * 版本号: v1.0 * 对任务及求解方法的描述部分 * 输入描述: * 问题描述: * 程序输出: */  #include <iostream>#include <string>using namespace std;class Animal{public:    Animal(string nam)    {        name=nam;    }    virtual void cry()    {      cout<<"不知哪种动物,让我如何学叫?"<<endl;    }protected:    string name;};class Mouse:public Animal{public:   Mouse(string nam,char s):Animal(nam){sex=s;}   void cry()   {       cout<<"我叫"<<name<<"是一只"<<sex<<"老鼠"<<"我的叫声是:吱吱吱!"<<endl;   }   private:   char sex;};class Cat:public Animal{public:   Cat(string nam):Animal(nam){}   void cry()   {       cout<<"我叫"<<name<<"是一只猫"<<"我的叫声是:喵喵喵!"<<endl;   }};class Dog:public Animal{public:   Dog(string nam):Animal(nam){}   void cry()   {       cout<<"我叫"<<name<<"是一只狗"<<"我的叫声是:汪汪汪!"<<endl;   }};class Giraffe:public Animal{public:   Giraffe(string nam,char s):Animal(nam){sex=s;}   void cry()   {       cout<<"我叫"<<name<<"是一只"<<sex<<"长颈鹿"<<"我的脖子太长发不出声音来!"<<endl;   }   private:   char sex;};int main (){    Animal *p;    //p = 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;}


运行结果:

原创粉丝点击