- /*
- *Copyright (c) 2016,烟台大学计算机学院
- *All rights reserved.
- *文件名称 :
- *作 者 : 刘默涵
- *完成日期 : 2016年6月1号
- *版 本 号 : v6.0
- *
- *问题描述 : 根据给出的main()函数和运行结果的提示,设计出相关的各个类,注意观察运行结果,提取出每个类中需要的数据成员,并匹配上需要的成员函数。
- */
- #include<iostream>
- using namespace std;
- class Animal
- {
- public:
- Animal(){}
- virtual void cry()
- {
- cout<<"不知哪种动物叫,叫我如何叫?"<<endl;
- }
- };
- class Mouse:public Animal
- {
- public:
- Mouse(string nam,char s):name(nam),c(s){}
- void cry()
- {
- cout<<"我叫"<<name<<",是一只";
- if(c=='f')cout<<"女";
- else cout<<"男";
- cout<<"老鼠,我的叫声是:吱吱吱!"<<endl;
- }
- protected:
- string name;
- char c;
- };
- class Cat:public Animal
- {
- public:
- Cat(string nam):name(nam){}
- void cry()
- {
- cout<<"我叫"<<name<<",";
- cout<<"是一只猫,我的叫声是:喵喵喵!"<<endl;
- }
- protected:
- string name;
- };
- class Dog:public Animal
- {
- public:
- Dog(string nam):name(nam){}
- void cry()
- {
- cout<<"我叫"<<name<<",";
- cout<<"是一只狗,我的叫声是:汪汪汪!"<<endl;
- }
- protected:
- string name;
- };
- class Giraffe:public Animal
- {
- public:
- Giraffe(string nam,char s):name(nam),c(s){}
- void cry()
- {
- cout<<"我叫"<<name<<",是一只";
- if(c=='f')cout<<"女";
- else cout<<"男";
- cout<<"长颈鹿,我的脖子太长,发不出声音来!"<<endl;
- }
- protected:
- string name;
- char c;
- };
- 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;
- }