
c++基础-动态多态性,以car为基类,根据距离单位不同的两个类分别计算汽车运行时间
发布日期:2021-05-08 09:42:05
浏览次数:23
分类:精选文章
本文共 983 字,大约阅读时间需要 3 分钟。
编写程序,计算汽车运行的时间,首先建立基类car,其中含有数据成员distance存储两点间的距离。假定距离以英里计算,速度为每小时80英里,使用虚函数travel_time()计算并显示通过这段距离的时间。
在派生类kilometre中,假定距离以千米计算,速度以每小时120千米,使用函数travel_time()计算并显示通过这段距离的时间。#includeusing namespace std;class car { public: car () { //基类构造函数,输入行车距离(单位未定) cout << "Please enter the driving distance(The unit is pending!):\n"; cin >> distance ; } virtual void travel_time() { //虚函数,以英里为单位且时速80计算行车时间 cout << "At 80 miles per hour:" << distance / 80 << endl; };protected: //派生类的distance成员构造时会调用基类的构造函数 double distance;};class kilometer :public car { public: virtual void travel_time() { //虚函数,以千米为单位且时速120计算行车时间 cout << "At 120 kilometer per hour:" << distance / 120 << endl; }};int main() { car bus; //建立基类对象bus kilometer taxi; //派生类对象taxi car *index = &bus; //定义指向基类对象的指针index,指向bus index->travel_time(); //调用了基类对象bus的travel_time函数 index = &taxi; //指向派生类的对象taxi index->travel_time(); //调用了派生类对象taxi的travel_time函数 return 0;}
运行结果(两个对象的输入均为960)⬇

发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2025年04月08日 03时42分47秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
js new Date 创建时间默认是8点
2021-05-09
Python实现cmd命令连续执行
2021-05-09
罗马数字
2021-05-09
IO多路复用小故事
2021-05-09
纠错码简介
2021-05-09
码云 Pages 搭建
2021-05-09
《论可计算数及其在判定上的应用》简单理解
2021-05-09
浮点数运算丢失精度
2021-05-09
中国剩余定理证明过程
2021-05-09
kafka告警简单方案
2021-05-09
SpringMvc @Validated注解执行原理
2021-05-09
java多线程执行问题
2021-05-09
java接口的应用举例
2021-05-09