第十三周项目二 阅读修改关于交通工具类的程序,回答问题,以理解相关内容(1)
来源:互联网 发布:淘宝账号怎么申诉 编辑:程序博客网 时间:2024/06/05 16:14
/*copyright(c)2016.烟台大学计算机学院 * All rights reserved, * 文件名称:text.Cpp * 作者:舒文超 * 完成日期:2016年4月30日 * 版本号:vc++6.0 * 问题描述:当基类的指针指向派生类时,用指针调用同名 成员函数,执行的是基类的成员函数,还是派 生类的成员函数?为什么会这样? */#include <iostream>using namespace std;class Vehicle//交通工具{public: 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 vehicle.
run a vehicle.
回答:当基类的指针指向派生类时,用指针调用同名成员函数,执行的是基类的成员函数。
因为基类的成员函数不是虚函数,指针指向仍然是基类的,所以执行的是基类的成员函数。
0 0
- 第十三周项目二 阅读修改关于交通工具类的程序,回答问题,以理解相关内容(1)
- 第十三周项目二 阅读修改关于交通工具类的程序,回答问题,以理解相关内容(2)
- 第十三周项目二 阅读修改关于交通工具类的程序,回答问题,以理解相关内容(3)
- 第12周-阅读、修改和运行关于交通工具类的程序,回答问题,以理解相关技术方法
- 第十三周实践项目-阅读、修改和运行关于交通工具类的程序(1)
- 第十三周项目1:阅读、修改和运行关于交通工具类的程序(1)
- 第十三周项目—阅读、修改和运行关于交通工具类的程序(1)
- 第十三周项目—阅读、修改和运行关于交通工具类的程序(1)
- 第十三周项目1:阅读、修改和运行关于交通工具类的程序(2)
- 第十三周项目1:阅读、修改和运行关于交通工具类的程序(3)
- 第十三周项目—阅读、修改和运行关于交通工具类的程序(1)
- 第十三周上机实践项目:阅读、修改和运行关于交通工具类的程序(1)
- 第十三周实践项目-阅读、修改和运行关于交通工具类的程序(2)
- 第十三周实践项目-阅读、修改和运行关于交通工具类的程序(3)
- 第十三周项目—阅读、修改和运行关于交通工具类的程序(2)
- 第十三周项目—阅读、修改和运行关于交通工具类的程序(3)
- 第十三周项目—阅读、修改和运行关于交通工具类的程序(2)
- 第十三周项目—阅读、修改和运行关于交通工具类的程序(3)
- Android中解析XML
- 近期科技类
- 不同系统的换行符号
- 使用RegularExpressions去除HTML标签的字符串
- Unity 动画插件 DOTween 的简单使用
- 第十三周项目二 阅读修改关于交通工具类的程序,回答问题,以理解相关内容(1)
- AndroidStudio 优秀插件汇总
- 悦海购O2O跨境电商
- C# 委托的三种调用示例(同步调用 异步调用 异步回调)
- TLint for 虎扑体育 基于Dagger2+RxJava+Retrofit开发,采用MVP模式
- 什么是springMVC
- 动态规划专题总结
- AndroidStudio NDK开发最佳入门实践
- NYOJ 586 疯牛(最大化最小值)