设计一个计算快递包裹的程序


设计抽象快递包裹类,把calculateCost设计为虚函数,使用指向基类的指针对各个派生类的虚函数进行调用。
【报告题干:
定义一个抽象快递包裹类 Package,并由此派生出普通包裹类和加急包裹类。
要求:
(1)Package 类设计为抽象类,应包含寄件人和收件人姓名、地址和包裹重量属性;
(2)普通包裹增加首重计费和超首重后部分的的每公斤计费单价属性,按首重+超重*每公斤计费单价计算总费用。
(3)加急包裹没 有首重限制,但有加急起价费用属性,按加急起价费+重量*10+加急公里数*0.02 计算总费用。 
(4)为每个类添加 calculateCost 计算快递费用虚函数。编写测试程序,使用指向基类的指针对各个派生类的虚函数进行调用。

参考GPT和自己的思路:

好的,针对你的问题,我的回答如下:

根据你提供的情况,我会为你设计一个计算快递包裹的程序。

  1. 首先,我们需要定义一个抽象快递包裹类 Package,该类应该包含寄件人和收件人姓名、地址和包裹重量等属性。在这个抽象类中,我们可以定义一个虚函数 calculateCost,用于计算快递费用。

  2. 接下来,我们需要将 Package 类派生出普通包裹类和加急包裹类。对于普通包裹类,我们需要增加首重计费和超首重后部分的每公斤计费单价属性。我们可以在普通包裹类中重写 calculateCost 虚函数,按照首重+超重*每公斤计费单价的规则来计算总费用。

  3. 对于加急包裹类,我们需要添加加急起价费用属性,并按照加急起价费+重量10+加急公里数0.02 的规则来计算总费用。同样,我们需要在加急包裹类中重写 calculateCost 虚函数。

  4. 最后,我们需要编写一个测试程序,使用指向基类的指针对各个派生类的虚函数进行调用,以检验程序的正确性。

希望以上的回答能对您有所帮助。