第十三周项目二 阅读修改关于交通工具类的程序,回答问题,以理解相关内容(2)
来源:互联网 发布:激光剑多少钱淘宝网 编辑:程序博客网 时间:2024/06/06 09:26
/*copyright(c)2016.烟台大学计算机学院 * All rights reserved, * 文件名称:text.Cpp * 作者:舒文超 * 完成日期:2016年4月30日 * 版本号:vc++6.0 * 问题描述:当基类的指针指向派生类时,用指针调用同名 成员函数,执行的是基类的成员函数,还是派 生类的成员函数?为什么会这样?什么是多态 性? */#include <iostream>using namespace std;class Vehicle//交通工具{public: virtual void run()const //此时为虚函数 { cout<<"run a vehicle. "<<endl; }};class Car:public Vehicle //汽车{public: void run()const {cout<<"run a car. "<<endl;}};class Airplane:public Vehicle //飞机{public: void run()const {cout<<"run a airplane. "<<endl;}};int main(){ cout<<"(a)直接用对象访问成员函数:"<<endl; Vehicle v; v.run(); Car car; Airplane airplane; car.run(); airplane.run(); cout<<"(b)用指向基类的指针访问成员函数"<<endl; Vehicle *vp; vp=&car; vp->run(); vp=&airplane; vp->run(); return 0;}
运行结果:
(a)直接用对象访问成员函数:
run a vehicle.
run a car.
run a airplane.
(b)用指向基类的指针访问成员函数
run a car.
run a airplane.
回答:执行的是派生类的成员函数,因为其现在为虚函数,实现了多态性(一个同名的成员函数,在不同的类中有不同的执行结果。)
0 0
- 第十三周项目二 阅读修改关于交通工具类的程序,回答问题,以理解相关内容(2)
- 第十三周项目二 阅读修改关于交通工具类的程序,回答问题,以理解相关内容(1)
- 第十三周项目二 阅读修改关于交通工具类的程序,回答问题,以理解相关内容(3)
- 第12周-阅读、修改和运行关于交通工具类的程序,回答问题,以理解相关技术方法
- 第十三周实践项目-阅读、修改和运行关于交通工具类的程序(2)
- 第十三周项目—阅读、修改和运行关于交通工具类的程序(2)
- 第十三周项目—阅读、修改和运行关于交通工具类的程序(2)
- 第十三周项目1:阅读、修改和运行关于交通工具类的程序(2)
- 第十三周项目—阅读、修改和运行关于交通工具类的程序(2)
- 第十三周上机实践项目:阅读、修改和运行关于交通工具类的程序(2)
- 第十三周实践项目-阅读、修改和运行关于交通工具类的程序(1)
- 第十三周实践项目-阅读、修改和运行关于交通工具类的程序(3)
- 第十三周项目—阅读、修改和运行关于交通工具类的程序(1)
- 第十三周项目—阅读、修改和运行关于交通工具类的程序(3)
- 第十三周项目—阅读、修改和运行关于交通工具类的程序(1)
- 第十三周项目—阅读、修改和运行关于交通工具类的程序(3)
- 第十三周项目1:阅读、修改和运行关于交通工具类的程序(1)
- 第十三周项目1:阅读、修改和运行关于交通工具类的程序(3)
- 别丢了你的母语——《语文常谈》书评
- shell学习-输出/输入
- HDFS中心缓存管理
- DOS命令之 attrib命令的使用
- HDOJ 5255 魔法因子 (数学)
- 第十三周项目二 阅读修改关于交通工具类的程序,回答问题,以理解相关内容(2)
- Word插入Latex公式的几种方式~(TeXsWord、EqualX、Aurora、向Office插入LaTeX公式的工具)
- 不同凡响(*)
- JAVA——Random
- 第十三周项目 动物这样叫 2.3
- 基于 CodeIgniter 的各类开源项目大全
- Xcode:duplicate declaration of method 'XXX'
- 从今天起,开启blog生活方式
- flume的级别的架构使用--实际场景应用--可以用于分布式的服务形式的日志采集