快递公司运费计算

  利用C++的多态性,设计一快递运费计算软件。 货物由北京可通过快递公司运往天津、上海、太原、广州、昆明、新疆六个城市,分别用1、2、3、4、5、6作为它们编号。运送货物的重量分为1、2、3公斤。快递公司有四家:E通宝、顺风、EMS和圆通,编号为1、2、3、4。不同城市、不同重量、不同的快递公司所费用由表1给出。当输入快递公司编号、城市编号和货物重量时,屏幕输出货物运送快递公司名称、到达的城市及费用。编程要求如下:

     1.定义一基类为快递公司,类中定义“城市编号”、货物个数、重量等成员,成员函数有基本成员输出函数及两个纯虚函数:求运输费用函数和输出信息函数。

     2.分别定义各快递公司的派生类,在类中参照表中提供的数据,根据自己的实际,编写各自的运输费用函数和输出信息函数。

    3.用实例测试。在主函数中定义一基类的指针数组,使这些指针分别指向不同的快递公司。

测试用例说明: 第一位:快递公司编号;第二位:城市编号;第三位:货物个数;第四位:货物重量。

 基类定义参考:
class Expresscom
{
  protected:
         int No,Num;//城市编号、货物个数
         double zh;//货物重量
  public:
         Expresscom(int no,int num,double zhong);
         virtual double Feiyong()=0;//计算运费函数
         virtual void Disp()=0;//输出全部信息
         void Edisp();//输出货物个数、货物重量信息
 };

  天津 上海 太原 广州 昆明 新疆
1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3
E邮宝 10 14 18 15 19 23 15 19 23 15 21 27 15 21 27 15 25 35
顺风 12 14 16 20 30 40 20 28 36 20 34 46 20 32 44 20 34 48
EMS 26 38 50 26 38 50 26 38 50 29 47 65 35 65 95 38 66 95
圆通 10 18 26 10 18 26 12 24 36 12 22 32 15 27 39 18 33 48

 

#include   
using namespace std;    
class Expresscom  
{    
  protected:    
         int No,Num;    
         double zh;    
  public:  
         Expresscom(int no,int num,double zhong){No=no;Num=num;zh=zhong;}    
         virtual double Feiyong()=0;  
         virtual void Disp()=0;   
         void Edisp()    
         {  cout<>a>>b>>c>>d;  
    Etb etb(b,c,d);  
    ShunF shunf(b,c,d);  
    Ems ems(b,c,d);  
    YT yt(b,c,d);  
    Expresscom *p[4]={&etb,&shunf,&ems,&yt};   
    p[a-1]->Disp();  
    p[a-1]->Edisp();  
 } 

 

你可能感兴趣的:(C,C++)