第十三周上机实践项目 项目2--动物这样叫(1)
来源:互联网 发布:好看的网站源码 编辑:程序博客网 时间:2024/05/17 02:00
问题及代码:
【项目-动物这样叫】
下面是给出的基类Animal声明和main()函数。
class Animal{public: virtual void cry() { 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;}
程序的运行结果将是:
1、根据给出的main()函数和运行结果的提示,设计出相关的各个类,注意观察运行结果,提取出每个类中需要的数据成员,并匹配上需要的成员函数。
#include <iostream>#include <string>using namespace std;class Animal{public: virtual void cry() { cout<<"不知哪种动物,让我如何学叫?"<<endl; }};class Mouse :public Animal{public: Mouse(string nam,char s):name(nam),sex(s){} void cry() { if(sex=='m') cout<<"我叫"<<name<<",是一只男老鼠,我的叫声是:吱吱吱!"<<endl; else cout<<"我叫"<<name<<",是一只女老鼠,我的叫声是:吱吱吱!"<<endl; }private: string name; char sex;};class Cat:public Animal{private: string name;public: Cat(string nam):name(nam){} void cry() { cout<<"我叫"<<name<<",是一只猫,我的叫声是:喵喵喵!"<<endl; }};class Dog:public Animal{private: string name;public: Dog(string nam):name(nam){} void cry() { cout<<"我叫"<<name<<",是一只狗,我的叫声是:汪汪汪!"<<endl; }};class Giraffe:public Animal{private: string name; char sex;public: Giraffe(string nam,char s):name(nam),sex(s){} void cry() { if(sex=='m') cout<<"我叫"<<name<<",是一只男长颈鹿,我的脖子太长,发不出声音来!"<<endl; else cout<<"我叫"<<name<<",是一只女长颈鹿,我的脖子太长,发不出声音来!"<<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;}
运行结果:
知识点总结:
虚函数
学习心得:
0 0
- 第十三周上机实践项目 项目2--动物这样叫(1)
- 第十三周上机实践——项目2-动物这样叫-(1)
- 第十三周上机实践项目2(1):动物这样叫
- 第十三周上机实践项目 项目2--动物这样叫(2)
- 第十三周上机实践项目 项目2--动物这样叫(3)
- 第十三周上机实践——项目2-动物这样叫-(2)&(3)
- 第十三周上机实践项目2(2):动物这样叫
- 第十三周上机实践项目2(3):动物这样叫
- 第十三周项目-项目2-(1)-动物这样叫
- 第十三周上机项目1动物这样叫
- 第十三周 项目1-动物这样叫(2)
- 第十三周 项目1-动物这样叫(2)
- 第十三周项目1--动物这样叫(2)
- 第十三周项目1-动物这样叫(2)
- 第十三周项目2-动物这样叫(1)
- 第十三周实践项目2————动物这样叫(1)
- 第13周上机实践项目1——动物这样叫(2)
- 第十三周项目2动物这样叫
- Java reflect反射简单示例
- hashmap&concurrenthashMap
- 开关问题
- 第十一周训练,职院薪水
- 类和指针程序阅读(3)
- 第十三周上机实践项目 项目2--动物这样叫(1)
- 尿酸高但还没发作痛风,用吃药吗?
- c++实践参考:深复制
- 9.2我的数组类
- 第十一周练习,日期时间
- 不可变序列算法示例
- JAVA反色计算方法的改进和修正
- 第13周实践项目4立体类族共有的抽象类
- 第十五周--程序填空