现在要开发一个系统,管理对多种汽车的收费工作。 给出下面的一个基类框架

class Vehicle

{

protected:

string NO;

public:

Vehicle(string n){NO = n;}

virtual int fee()=0;//计算应收费用

};

以Vehicle为基类,构建出Car、Truck和Bus三个类。

Car的收费公式为: 载客数*8+重量*2

Truck的收费公式为:重量*5

Bus的收费公式为: 载客数*3

生成上述类并编写主函数

主函数根据输入的信息,相应建立Car,Truck或Bus类对象,对于Car给出载客数和重量,Truck给出重量,Bus给出载客数。假设载客数和重量均为整数

输入格式:第一行输入测试用例数。接着每个测试用例占一行,每行给出汽车的基本信息,第一个数据为当前汽车的类型:1为car,2为Truck,3为Bus。第二个数据为它的编号,接下来Car是载客数和重量,Truck要求输入重量,Bus要求输入载客数。

要求输出各车的编号和收费。

裁判测试程序样例:

#include<iostream>
#include <string>
using namespace std;
class Vehicle
{
protected:string NO;//编号
public:Vehicle(string n){        NO = n;  }virtual int fee()=0;//计算应收费用
};/* 请在这里填写答案 */int main()
{Car c("",0,0);Truck t("",0);Bus b("",0);int i, repeat, ty, weight, guest;string no;cin>>repeat;for(i=0;i<repeat;i++){cin>>ty>>no;switch(ty){case 1: cin>>guest>>weight; c=Car(no, guest, weight); cout<<no<<' '<<c.fee()<<endl; break;case 2: cin>>weight; t=Truck(no, weight); cout<<no<<' '<<t.fee()<<endl; break;case 3: cin>>guest; b=Bus(no, guest); cout<<no<<' '<<b.fee()<<endl; break;}}return 0;
}

输入样例:

4
1 002 20 5
3 009 30
2 003 50
1 010 17 6

根据题目信息定义派生类:

class Car :public Vehicle{int weight,individual;public:Car(string i,int in,int we):Vehicle(i),weight(we),individual(in){     //初始化参数列表 }int fee(){return (8*individual+2*weight);                                 // 收费成员函数 }
};class Truck:public Vehicle{int weight;public:Truck(string i,int we):Vehicle(i),weight(we){}int fee(){return 5*weight;}
};

6-3 汽车收费 (10 分)相关推荐

  1. PTA 习题:7-4 期刊收费 (10分) C++实现

    7-4 期刊收费 (10分) 邮局提供两种期刊的订阅:杂志和报纸. 给出下面基类的框架: class Periodical {protected:string title; //名称 public:v ...

  2. 7-4 期刊收费 (10分)

    邮局提供两种期刊的订阅:杂志和报纸. 给出下面基类的框架: class Periodical { protected: string title; //名称 public: virtual void ...

  3. 如果微信收费 10 块钱一个月,你还继续用吗?

    这是「进击的Coder」的第 142 篇热点新闻 作者:王M争 来源:王M争 " 阅读本文大概需要 10 分钟. " 前几天看到一个问题:如果微信收费 10 元一个月,你用吗? 今 ...

  4. 互联网日报 | 4月7日 星期三 | 雷军称小米首款汽车售价10至30万;携程通过港交所上市聆讯;深交所主板与中小板正式合并...

    今日看点 ✦ 淘宝:2021财年新增活跃商家数创5年来最高 ✦ 雷军:小米首款车型聚焦10-30万市场,轿车SUV二选一 ✦ 蛋壳公寓被纽交所暂停交易,开启除牌程序 ✦ 深交所主板与中小板正式合并,总 ...

  5. 热门开源后端软件Parse Server中存在严重的 RCE ,CVSS评分10分

     聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士 专栏·供应链安全 数字化时代,软件无处不在.软件如同社会中的"虚拟人",已经成为支撑社会正常运转的最基本元素之一,软件的安全 ...

  6. 直通车如何快速涨质量分到10分【全平台erp、进销存软件】

    大家好,我是小编v兔.作为一个合格的淘宝卖家都应该知道,付费流量是淘宝重要的流量入口之一,其中最常见的付费流量入口就是直通车.因为直通车的操作简单,流量精准,直通车也就成为了淘宝卖家最常用的付费推广方 ...

  7. 7-8 超速判断(10分)

    7-8 超速判断 (10分) 模拟交通警察的雷达测速仪.输入汽车速度,如果速度超出60 mph,则显示"Speeding",否则显示"OK". 输入格式: 输入 ...

  8. PAT 7-8 超速判断 (10 分)c++

    7-8 超速判断 (10 分)模拟交通警察的雷达测速仪.输入汽车速度,如果速度超出60 mph,则显示"Speeding",否则显示"OK". 输入格式: 输入 ...

  9. 7-8 超速判断 (10分) 带注释

    7-8 超速判断 (10分) 模拟交通警察的雷达测速仪.输入汽车速度,如果速度超出60 mph,则显示"Speeding",否则显示"OK". 输入格式: 输入 ...

最新文章

  1. vc 文本框 只显示下划线_【Axure9百例】36.文本框搜索自动匹配
  2. 苏宁易购Android架构演进史
  3. 百度分布式配置中心BRCC正式开源
  4. Python之字典类型数据常见操作及排序
  5. 前端学习(660):比较运算符
  6. java编译机制_java的编译机制
  7. CentOS报错:Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7arch=x86_64repo=osi...
  8. 86年版五笔和98年版五笔区别
  9. ATAPI(磁盘端口驱动)级文件保护简单实现
  10. 三菱FX2N:PC与PLC建立通讯的几种方式(SC-09通讯电缆+FX2N-485-BD通讯板)
  11. Activiti工作流的流转任务和结束任务
  12. 玩转HANA数据库的备份与恢复(2020 刘欣)
  13. 5.Python格式化输出
  14. ipad分屏功能怎么开启_win10怎么开启投屏功能
  15. 使用AWS最便宜的GPU实例  from 动手学深度学习v2 李沐大神
  16. sqlconnection mysql_VS连接数据库的通用方法(SQL/MySql)
  17. 健康贴示(尽力每日更新)2007-02-12
  18. C#控件之OpenFileDialog选择图片文件并在picturebox里面显示
  19. 研发部门体系建设说明
  20. rebar3使用介绍(三)命令

热门文章

  1. 安卓TV插件化9.0内联崩溃原因及解决方案
  2. java ant myeclipse_Ant在MyEclipse中的配置总结
  3. python怎么赋值点坐标_python女孩入门第二天_赋值 数据 字符串
  4. Redis主从复制Redis哨兵机制Springboot整合哨兵
  5. linux没权限ttl连接后,如何在没有root权限的Linux上从C中的UDP数据包中找回TTL超出的错误消息?...
  6. 【python socket编程】—— 4.实现redirect函数
  7. 缤纷色彩搭配,复古与现代碰撞,别样吊灯点亮你的空间
  8. 网页设计常用色彩搭配【网址推荐】
  9. 游戏开发入门图书推荐(转载,附下载地址)
  10. lovelive服务器维护,《Lovelive!》国服2周年庆典活动第五次开启