第十三周项目:动物这样叫(2)
2015-06-07 20:59
417 查看
代码:
#include <iostream> using namespace std; class Animal { public: virtual void cry()=0; }; class Mouse:public Animal { public: Mouse(string nam,char s):name(nam),sex(s){} virtual void cry() { cout<<"我叫"<<name<<",是一只"<<((sex=='m')?"男":"女")<<"老鼠,我的叫声是:吱吱吱!"<<endl; } protected: string name; char sex; }; class Cat:public Animal { public: Cat(string nam):name(nam){} virtual void cry() { cout<<"我叫"<<name<<",是一只猫,我的叫声是:喵喵喵!"<<endl; } protected: string name; }; class Dog:public Animal { public: Dog(string nam):name(nam){} virtual void cry() { cout<<"我叫"<<name<<",是一条狗,我的叫声是:汪汪汪!"<<endl; } protected: string name; }; class Giraffe:public Animal { public: Giraffe(string nam,char s):name(nam),sex(s){} virtual void cry() { cout<<"我叫"<<name<<",是"<<((sex=='m')?"男":"女")<<"长颈鹿,我的脖子太长,发不出声音来!"<<endl; } protected: string name; char sex; }; 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; }
相关文章推荐
- UVA - 572---Oil Deposits.
- 【VB6】使用VB6创建和访问Dom树【爬虫基础知识】
- 6.1.2 定义多个属性
- solr 5.1.0安装-Windows
- Java中的泛型方法
- Net 服务命令行参考之一
- 《Java程序设计》第三次作业:网络编程
- leetcode Remove Element
- 【学习点滴-memcached】mecached内存管理与原理
- OnPreRender事件常见用法
- BestCoder Round #43 第二题 pog loves szh II
- 第一篇嘛
- Memcached 内存管理(一)
- UVA 12295 Optimal Symmetric Paths(spfa+记忆化)
- 面试题6:重建二叉树
- 给出设计类图
- 编辑器-----》博客园的编辑器tinymce
- A year with Go
- 离散型随机变量及其分布列
- 设计视图