15第十三周项目一——动物这样叫
来源:互联网 发布:淘宝怎么预防死人衣服 编辑:程序博客网 时间:2024/05/18 22:45
/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作 者:李晓凯
* 完成日期:2015年 5 月 31 日
* 版 本 号:v1.0
*
* 问题描述:1、根据给出的main()函数和运行结果的提示,设计出相关的各个类,注意观察运行结果,提取出每个类中需要的数据成员,并匹配上需要的成员函数。
2、显然,Animal设计为抽象类更合适,Animal不需要能够实例化,是专门作基类使用的。改造程序,使Animal设计为抽象类,这时main()函数中p = new Animal();将出错,将此行删除。
3、每一个Animal的派生类都有一个“名字”数据成员,这个成员设置为基类Animal的成员更好。改造上面的程序,将“名字”成员作为抽象类Animal数据成员被各派生类使用。
* 输入描述:
* 程序输出:
*/
代码:
#include <iostream>using namespace std;class Animal{public: virtual void cry() { cout<<"不知哪种动物,让我如何学叫?"<<endl; }};class Mouse:public Animal{public: Mouse(string n,char s):name(n),sex(s) {} void cry() { char a; if(sex=='m') cout<<"我叫"<<name<<",是一只男老鼠,我的叫声是:吱吱吱!"<<endl; else cout<<"我叫"<<name<<",是一只女老鼠,我的叫声是:吱吱吱!"<<endl; }protected: string name; char sex;};class Cat:public Animal{public: Cat(string n):name(n) {} void cry() { cout<<"我叫"<<name<<",是一只猫,我的叫声是:喵喵喵!"<<endl; }protected: string name;};class Dog:public Animal{public: Dog(string n):name(n) {} void cry() { cout<<"我叫"<<name<<",是一条狗,我的叫声是:汪汪汪!"<<endl; }protected: string name;};class Giraffe:public Animal{public: Giraffe(string n,char s):name(n),sex(s) {} void cry() { char a; if(sex=='m') cout<<"我叫"<<name<<",是男长颈鹿,我的脖子太长,发不出声音来!"<<endl; else if(sex=='f') cout<<"我叫"<<name<<",是女长颈鹿,我的脖子太长,发不出声音来!"<<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;}
0 0
- 15第十三周项目一——动物这样叫
- 第十三周项目一——动物这样叫
- 第十三周项目一 动物这样叫
- 第十三周项目一动物这样叫
- 第十三周项目一 动物这样叫
- 第十三周 项目一 动物这样叫
- 第十三周项目一--动物这样叫
- 第十三周项目1——动物这样叫
- 第十三周项目1——动物这样叫
- 第十三周项目2-动物这样叫——1
- 第十三周项目2-动物这样叫——2
- 第十三周项目2——动物这样叫
- 第十三周项目2-动物这样叫——1
- 第十三周项目2-动物这样叫——1
- 第十三周项目2-动物这样叫——2
- 第十三周项目2.1—动物这样叫
- 第十三周项目2.2—动物这样叫
- 第十三周项目2.3—动物这样叫
- 创建MySQL索引
- poj-1947 Rebuilding Roads
- 【转】判断UIViewController是否正在显示
- 作业三
- 业界值得关注的公司(开篇)
- 15第十三周项目一——动物这样叫
- c++虚函数的使用
- 业内值得关注的公司(格灵深瞳)
- MyBatis入门
- 我不懂女人我不懂人
- 远程操作linux的利器:putty和psftp
- ITOO——Jenkins持续集成
- svm代码c++——机器学习
- 哈夫曼树