动物这样叫
2015-06-07 20:43
218 查看
#include <iostream> using namespace std; class Animal { public: virtual void cry() { cout<<"不知哪种动物,让我如何学叫?"<<endl; } }; class Mouse : public Animal { private: string name; char sex; public: Mouse(string na, char s):name(na),sex(s) {} virtual void cry() { //偷师如下,三目运算符简化了好多阿~ //cout<<"我叫"<<name<<",是一只"<<((sex=='m')?"男":"女")<<"老鼠,我的叫声是:吱吱吱!"<<endl; cout<<"我叫"<<name<<",是一只"; if(sex=='m') cout<<"男"; else cout<<"女"; cout<<"老鼠,我的叫声是:吱吱吱..."<<endl; } }; class Cat : public Animal { private: string name; public: Cat(string na):name(na) {} virtual void cry() { cout<<"我叫"<<name<<",是一只猫,我的叫声是:喵喵喵~"<<endl; } }; class Dog : public Animal { private: string name; public: Dog(string na):name(na) {} virtual void cry() { cout<<"我叫"<<name<<",是一只狗,我的叫声是:汪汪汪!"<<endl; } }; class Giraffe : public Animal { private: string name; char sex; public: Giraffe(string na, char s):name(na),sex(s) {} virtual void cry() { //偷师如下,三目运算符简化了好多阿~ //cout<<"我叫"<<name<<",是一只"<<((sex=='m')?"男":"女")<<"老鼠,我的叫声是:吱吱吱!"<<endl; cout<<"我叫"<<name<<",是一只"; if(sex=='m') cout<<"男"; else cout<<"女"; cout<<"长颈鹿,我的声带很特别,声带中间有浅沟,不好发声。"<<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; }
相关文章推荐
- Tomcat集群--基于Memcached的Session共享
- radix-sort基数排序 内部排序用count-sort
- shell学习第三天
- ScoreProvider API
- Scoreable API 可打分
- [架构] ZeroMQ 深度探索(二)
- Latex插入项目符号和编号
- 在win8.1系统下运行VC++6.0
- 二分
- 【VB与数据库】——机房收费系统总览
- Varnish 学习笔记总结
- wordpress中表单插件加载缓慢如何解决
- 【吾日三省吾身】2015.6.07-涅槃行动第二十天
- AcousticScorer API 声学打分
- C++对C的实用性增强
- [架构] ZeroMQ 深度探索(一)
- C++对C的实用性增强
- 路由器安全测试工具 – Router Scan v2.51
- 大三了,我还是喜欢《青春派》
- 数据库进程间通信解决方案之MQ