c++基础-动态多态性,以car为基类,根据距离单位不同的两个类分别计算汽车运行时间
发布日期:2021-05-08 09:42:05 浏览次数:23 分类:精选文章

本文共 983 字,大约阅读时间需要 3 分钟。

编写程序,计算汽车运行的时间,首先建立基类car,其中含有数据成员distance存储两点间的距离。假定距离以英里计算,速度为每小时80英里,使用虚函数travel_time()计算并显示通过这段距离的时间。

在派生类kilometre中,假定距离以千米计算,速度以每小时120千米,使用函数travel_time()计算并显示通过这段距离的时间。

#include
using 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)⬇

在这里插入图片描述

上一篇:c++基础-动态关联,设计一个类animal和它的派生类tiger(虎)、sheep(羊),实现虚函数
下一篇:c++基础-利用虚函数实现动态多态性,以shap作为虚基类,对圆,矩形和三角形进行面积计算

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2025年04月08日 03时42分47秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章