/*
*Copyright(c)2016,烟台大学计算机与控制工程学院
*All rights reserved
*文件名称:123.cpp
*作    者:王蕊
*完成日期:2016年5月31日
*版 本 号:v1.0
*
*问题描述:根据给出的main()函数和运行结果的提示,设计出相关的各个类,注意观察运行结果,提取出每个类中需要的数据成员,并匹配上需要的成员函数
*/
#include "iostream"
#include<string>
using namespace std;
class Animal
{
public:virtual void cry(){cout<<"不知哪种动物,让我如何学叫?"<<endl;}
};
class Mouse : public Animal
{
private:string name;char sex;
public:Mouse(string n, char s):name(n),sex(s) {}virtual void cry(){cout<<"我叫"<<name<<",是一只"<<((sex=='m')?"男":"女")<<"老鼠,我的叫声是:吱吱吱!"<<endl;}
};
class Cat : public Animal
{
private:string name;
public:Cat(string n):name(n) {}virtual void cry(){cout<<"我叫"<<name<<",是一只猫,我的叫声是:喵喵喵!"<<endl;}
};
class Dog : public Animal
{
private:string name;
public:Dog(string n):name(n) {}virtual void cry(){cout<<"我叫"<<name<<",是一条狗,我的叫声是:汪汪汪!"<<endl;}
};
class Giraffe : public Animal
{
private:string name;char sex;
public:Giraffe(string n,char s):name(n), sex(s) {}virtual void cry(){cout<<"我叫"<<name<<",是"<<((sex=='m')?"男":"女")<<"长颈鹿,我的脖子太长,发不出声音来!"<<endl;}
};
int main( )
{Animal *p;p = new Animal();p->cry(); //输出: 不知哪种动物,让我如何学叫?Mouse m1("Jerry",'m');p=&m1;p->cry(); //输出: 我叫Jerry,是一只男老鼠,我的叫声是:吱吱吱!Mouse m2("Jemmy",'f');p=&m2;p->cry(); //输出: 我叫Jemmy,是一只女老鼠,我的叫声是:吱吱吱!Cat c1("Tom");p=&c1;p->cry(); //输出: 我叫Tom,是一只猫猫,我的叫声是:喵喵喵!Dog d1("Droopy");p=&d1;p->cry(); //输出: 我叫Droopy,是一条狗狗,我的叫声是:汪汪汪!Giraffe g1("Gill",'m');p=&g1;p->cry(); //输出: 我叫Gill,是男长颈鹿,脖子太长,发不出声音来!return 0;
}

运行结果:

第十三周项目二-动物这样叫(1)相关推荐

  1. 第十三周项目二-动物这样叫(3)

    /* *Copyright(c)2016,烟台大学计算机与控制工程学院 *All rights reserved *文件名称:123.cpp *作 者:王蕊 *完成日期:2016年5月31日 *版 本 ...

  2. 第十三周项目二-动物这样叫(2)

    /* *Copyright(c)2016,烟台大学计算机与控制工程学院 *All rights reserved *文件名称:123.cpp *作 者:王蕊 *完成日期:2016年5月31日 *版 本 ...

  3. 第九周项目二时间类的重载<<与>>,一目。

    /* * Copyright (c) 2013, 烟台大学计算机学院 * All rights reserved. * 作 者: * 完成日期:2014 年4 月22 日 * 版 本 号:v1.0 * ...

  4. 第五周 项目二 建立链栈算法库

    /* Copyright (c)2017,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:第5周项目2--建立链栈算法库.cpp 作 者:孙仁圆 完成日期:2017年 ...

  5. 第十一周项目二----用二叉树求解代数表达式

    /*烟台大学计算机与控制工程学院 时间2015年12月14日 作者:孙潇 问题描述:用二叉树来表示代数表达式,树的每一个分支节点代表一个运算符,每一个叶子节点代表一个运算数(为简化,只支持二目运算的+ ...

  6. 第十二周项目二-Time类中的运算符重载

    /**Copyright(c)2016,烟台大学计算机与控制工程学院*All rights reserved*文件名称:123.cpp*作 者:王蕊*完成日期:2016年5月24日*版 本 号:v1. ...

  7. 第十二周项目二----操作用邻接表存储的图

    /*烟台大学计算机与控制工程学院 时间2015年12月14日 作者:孙潇 问题描述:假设图G采用邻接表存储,分别设计实现以下要求的算法: (1)输出出图G中每个顶点的出度: (2)求出图G中出度最大的 ...

  8. 第十周 项目二 阴险的小刚

    #include <cstdio> using namespace std; int main() {     char ch;     int i=1;     for(i=1;i< ...

  9. 15周项目二:杨辉三角。

    /* * 程序的版权和版本声明部分 * Copyright (c)2013, 烟台大学计算机学院学生 * All rightsreserved. * 文件名称: array.cpp * 作 者:赵振凯 ...

最新文章

  1. windows下安装程序制作
  2. python输入输出-python输入输出及变量
  3. SCI论文写作中的注意事项
  4. 深入理解DPDK程序设计|Linux网络2.0
  5. 巴斯光年探险阿里聚安全攻防挑战赛!决战12月28日!
  6. python gil锁存在的意义_关于python的GIL全局解释器锁的简单理解
  7. 多线程爬取新闻标题和链接
  8. linux磁盘的命令是,linux磁盘相关的命令
  9. 【shell 脚本】删除/var/log 下的日志
  10. [数据结构] 非旋Treap
  11. 工具分享 | LiqunKit 综合漏洞利用工具(下载地址在文末)
  12. ubuntu desktop 12 lts 安装 vmplayer 问题
  13. Java 库 Failsafe 2.0 发布,支持组合弹性策略
  14. 全微分里dxy是怎么化成xdy+ydx
  15. python图像去污_图像去雾毕业论文准备02-python中os标准库
  16. QT中设置字体和更改字体颜色
  17. Xcode免证书打包ipa
  18. 【网络安全】Centos7安装杀毒软件----ClamAV
  19. python中bin函数如何使用?
  20. Linux笔记-ftp主动和被动模式下iptables的规则配置

热门文章

  1. python解码函数_python2和python3的编码encode解码decode函数
  2. 记录一下Python-Qt中按钮点击事件无响应解决方案
  3. Java处理excel根据某列的值查询,并将结果显示在其他列中
  4. BT5下用ncrack破解3389
  5. swift--添加新手引导页
  6. SpringMVC图片上传
  7. LVS三种工作模式介绍对比和十种调度算法介绍
  8. ZW网络团队及资源简介
  9. 基于AngularJS的Onsen UI --Onsen UI学习笔记
  10. 常用 Linux 命令