第十四周上机实践项目——动物这样叫(抽象类法)
2014-05-26 18:28
429 查看
/* *程序的版权和版本声明部分: *Copyright(c)2014,烟台大学计算机学院学生 *All rights reserved. *文件名称:动物这样叫 *作者:刘中林 *完成日期:2014 年 5 月 26 日 *版本号:v1.0 *对任务及求解方法的描述部分: *输入描述: 这是根据自己编的 *问题描述: *程序输出: 题目要求 *问题分析: 虚函数的使用 *算法设计: */ #include <iostream> #include <string> using namespace std; class Animal //抽象类 { public: virtual void cry()=0; //纯虚函数 Animal (string name4):name(name4) {} protected: string name; //名字 }; class Cat:public Animal { public: Cat(string name1): Animal(name1){} virtual void cry() { cout<<"我叫Tom,是一只猫,我的叫声是:喵喵喵!"<<endl; } }; class Dog:public Animal { public: Dog(string name2):Animal(name2) {} virtual void cry() { cout<<"我叫Droopy,是一只狗,我的叫声是:汪汪汪!"<<endl; } }; class Giraffe:public Animal { public: Giraffe(string name3,char sign1):Animal(name3),signal1(sign1) {} virtual void cry() { cout<<"我叫Gill,是男长颈鹿,我的脖子太长了,声音发不出来~"<<endl; } protected: char signal1; }; class Mouse:public Animal { public: Mouse(string nam,char sign):Animal(nam),signal(sign) {} virtual void cry() { if(signal=='m') { cout<<"我叫Jerry,是一只男老鼠,我的叫声是:叽叽叽叽~"<<endl; } else if(signal=='f') { cout<<"我叫Jemmy,是一只女老鼠,我的叫声是:吱吱吱吱~"<<endl; } } protected: char signal; }; int main( ) { Animal *p; cout<<"不知哪种动物让我如何学叫?"<<endl; 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; }
相关文章推荐
- 第十四周上机实践项目——动物这样叫
- 第十三周上机实践项目2(1):动物这样叫
- 第十三周上机实践项目 项目2--动物这样叫(3)
- 第13周上机实践项目1——动物这样叫(2)
- 第十三周上机实践项目 项目2--动物这样叫(2)
- 第十三周上机实践项目2(2):动物这样叫
- 第13周上机实践项目1——动物这样叫
- 第十三周上机实践——项目2-动物这样叫-(1)
- 第十三周上机实践项目2(3):动物这样叫
- 第十三周上机实践——项目2-动物这样叫-(2)&(3)
- 第十四周上机实践项目——acm所有图形面积之和
- 第十四周上机实践项目——字符串统计(1)
- 第十四周上机实践项目——阿拉伯数字之素数
- 第十四周 项目1--动物这样叫
- 第十四周项目一 动物这样叫(1)
- 第十四周项目一动物这样叫
- 第十四周上机实践项目——字符数组排序
- 第十四周项目1-动物这样叫
- 第十四周上机实践项目——体验纯虚函数
- 第十四周项目一动物这样叫(2)