- #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;
- }
/* *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; }