第十三周项目1-1:动物这样叫-虚函数
来源:互联网 发布:手机偷听器软件 编辑:程序博客网 时间:2024/05/28 05:15
问题及代码:
/**Copyright (c)2015,烟台大学计算机与控制工程学院*All rights reserved.*文件名称:project.cpp*作 者:陈文青*完成日期:2015年6月3日*版 本 号:v1.0**问题描述:1.根据给出的main()函数和运行结果的提示,设计出相关的各个类,注意观察运行结果,提取出每个类中需要的数据成员,并匹配上需要的成员函数。*程序输入:*程序输出:*/
<img src="http://img.blog.csdn.net/20150603081838296?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvRGVzdGlueV9Gb3JldmVy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />#include<iostream>#include<string>using namespace std;class Animal{public: virtual void cry() { cout<<"不知哪种动物,让我如何学叫?"<<endl; }};//老鼠类class Mouse:public Animal{public: Mouse(string na,char s):name(na),sex(s){} void cry() { cout<<"我叫"<<name<<",是一只"; if(sex=='f') cout<<"女"; else cout<<"男"; cout<<"老鼠,我的叫声是:吱吱吱!"<<endl; }private: string name; char sex;};//猫类class Cat:public Animal{public: Cat(string na):name(na){} void cry() { cout<<"我叫"<<name<<",是一个只猫,我的叫声是:喵喵喵!"<<endl; }private: string name;};//狗类class Dog :public Animal{public: Dog(string na):name(na){} void cry() { cout<<"我叫"<<name<<",是一个条狗,我的叫声是:汪汪汪!"<<endl; }private: string name;};//长颈鹿类class Giraffe:public Animal{public: Giraffe(string na,char s):name(na),sex(s){} void cry() { cout<<"我叫"<<name<<",是"; if(sex=='f') cout<<"女"; else cout<<"男"; cout<<"长颈鹿,我的脖子太长,发不出声音来!"<<endl; }private: 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;}
知识点总结:
利用虚函数实现动态多态性,编译系统按照同名覆盖的原则决定调用对象。
虚函数的定义,在函数体前加 virtual
0 0
- 第十三周项目1-1:动物这样叫-虚函数
- 第十三周 【项目1-动物这样叫】
- 第十三周项目1-动物这样叫
- 第十三周项目1动物这样叫
- 第十三周【项目1-动物这样叫】
- 第十三周 项目1-动物这样叫
- 第十三周项目1-动物这样叫
- 第十三周项目一(1):动物这样叫:虚函数
- 第十三周 项目一--动物这样叫(1)虚函数
- 第十三周项目-项目2-(1)-动物这样叫
- 第十三周项目1(1)-动物这样叫
- 第十三周 项目1-动物这样叫(1)
- 第十三周项目1--动物这样叫(1)
- 第十三周项目1-动物这样叫(1)
- 第十三周 项目1-动物这样叫(2)
- 第十三周 项目1-动物这样叫(3)
- 第十三周项目1(2)-动物这样叫
- 第十三周项目1(3)-动物这样叫
- C++刷题——2707: 素数与因子
- 第十一周项目教师兼干部类
- 第十三周阅读程序三
- 腾迅股票数据接口 http/javascript .
- Python 介绍、环境搭建(Eclipse插件)、第一个程序
- 第十三周项目1-1:动物这样叫-虚函数
- 【九章算法免费讲座第一期】转专业找CS工作的“打狗棒法”
- Nim教程翻译(一)
- 抽象类和接口的详解
- C++之我是二代我继承——教师干部
- 第十三周项目1动物如何叫
- 第十三周项目1——动物这样叫(3)
- 第十周项目 4 点、圆的关系(1)
- 第十三周 项目1-动物这样叫