14.1动物这样叫(一)
来源:互联网 发布:用户角色模型 java 编辑:程序博客网 时间:2024/06/11 03:14
/** 程序的版权和版本声明部分* Copyright (c)2014, 烟台大学计算机学院学生* All rightsreserved.* 文件名称:a.cpp* 作 者:孔云* 完成日期:2014年5月29日* 版 本 号: v1.0* 输入描述:略* 问题描述:根据给出的main()函数和运行结果的提示,设计出相关的各个类, 注意观察运行结果,提取出每个类中需要的数据成员,并匹配上需要的成员函数。* 输出描述:略*/#include<iostream>#include<string.h>using namespace std;class Animal{public: virtual void cry()const { cout<<"不知哪种动物,让我如何学叫"<<endl; }};class Mouse :public Animal{protected: string name; char sex;public : Mouse():name(0),sex(0) {} Mouse(string nam,char s):name(nam),sex(s) {} void cry()const { cout<<"你叫"<<name<<",是一只"; if(sex=='m') { cout<<"男"; } if(sex=='f') { cout<<"女"; } cout<<"老鼠,你的叫声是:吱吱吱吱!"<<endl; }};class Cat:public Animal{protected: string name;public : Cat():name(0) {} Cat(string nam):name(nam) {} void cry()const { cout<<"我叫"<<name<<",是一只猫,我的叫声是:喵喵喵!"<<endl; }};class Dog:public Animal{protected: string name;public : Dog():name(0) {} Dog(string nam):name(nam) {} void cry()const { cout<<"你叫"<<name<<",是一条狗,你的叫声是:汪汪汪!"<<endl; }};class Giraffe:public Animal{protected: string name; char sex;public : Giraffe():name(0),sex(0) {} Giraffe(string nam,char s):name(nam),sex(s) {} void cry()const { cout<<"他叫"<<name<<",是"; if(sex=='m') { cout<<"男"; } if(sex=='f') { cout<<"女"; } 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;}在基类虚函数中去掉const运行结果为:
在基类虚函数中加上const 运行结果为:
心得体会:为什么有如此差别?const近似常数之意,用const作为修饰符定义变量是常变量,在这里将其放在虚函数后面其意义何在呢?
请大神解答、、、、
0 0
- 14.1动物这样叫(一)
- 14.1动物这样叫
- 项目一。动物这样叫
- 14.1动物这样叫(二)
- 14.1-动物这样叫(1)
- 14.1-动物这样叫(2)
- 14.1-动物这样叫(3)
- 第十三周项目一:动物这样叫(一)
- 动物这样叫(2)
- 动物这样叫(3)
- 动物这样叫(1)
- 动物这样叫-(1)
- 第十四周项目一 动物这样叫(1)
- 第十四周项目一动物这样叫(2)
- 第十四周(项目一)——动物这样叫。
- 第十三周项目一(2)动物这样叫
- 第十三周 项目一(3)动物这样叫
- 第十三周项目一动物这样叫(1)
- easyui机构树 满足选中节点需求
- 用GDB调试程序
- 男人就是累
- Dotnetnuke:EditURL与NavigateURL
- Linux Server流媒体配置过程
- 14.1动物这样叫(一)
- hello world
- 配置我的vim
- Cucumber 插件的折腾
- 自守数
- dda算法
- fullbnt使用中bnet中CPD查看方法与输入证据后节点查询方法
- Android中webview和js之间的交互
- linux 编译安装mysql5.5