2 u014365854 u014365854 于 2014.05.28 09:30 提问

Package继承层次(求代码C#)

一些快递商,如FedEx、DHL和UPS,都提供多样化的服务,同时也收取不同的费用。创建一个表示各种不同包裹的继承层次。以包裹类Package作为基类,两日包裹类TwoDayPackage和连夜包裹类OvernightPackage作为派生类。基类Package应该包括含代表寄件人和收件人姓名、地址、所在城市、所在州和邮政编码等的数据成员。此外,还应包含存储包裹重量(以盎司计)和每盎司费用的数据成员。类的构造函数应初始化这些数据成员,并确保重量和每盎司费用为正值。Package应该提供public成员函数calculateCost,该函数计算重量和每盎司费用的乘积,得到的是与运输该包裹有关的费用并返回(返回值类型为double)。派生类TwoDayPackage应继承基类Package的功能,但还应包含一个数据成员,表示付给两日快递服务的平寄费。TwoDayPackage构造函数应接受一个值来初始化这个数据成员。类TwoDayPackage还应该重新定义基类的成员函数calculateCost来计算运输费用,具体方法是将平寄费加上由基类Package的calculateCost函数计算得到的基于重量的费用中。派生类OvernightPackage应直接继承基类,并且应包含一个附加的数据成员,表示付给连夜服务的每盎司的额外费用。类OvernightPackage应当重新定义基类的成员函数calculateCost,来使它在计算运输费用之前,先将额外的每盎司费用加到标准的每盎司费用上。编写测试程序,创建每种Package

的对象并测试成员函数calculateCost。

1个回答

critas
critas   2014.05.28 10:54

都说的这么清楚了,直接写出来不就行了吗?测试程序直接用VS进行单元测试不就好了

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
继承层次结构下的构造方法的调用次序
在创建子类对象时,必须先调用直接父类的构造方法,然后才调用子类本身的构造方法。调用直接父类的构造方法可显示地或隐式地进行。类似地,如果父类派生于另一个类,则要求父类的构造方法调用层次结构中上一级超类的构造方法,以此类推,最先调用的构造方法总是根类Object的构造方法,最后才会执行类层次结构中最底层的子类构造方法。超类的构造函数不能够被继承。 2.继承层次结构下的finalize方法的调
C++学习笔记13-类继承
1.  类模板的 static 成员[不同于C#中的static] 类模板可以像任意其他类一样声明static 成员。以下代码: template class Foo { public: static std::size_tcount() { return ctr; } // other interfacemembers private: static std::size_tct
7-5 求二叉树中指定节点的层次
//求二叉树中指定节点的层次 #include "btree.cpp" int Level(BTNode *b,ElemType x,int h) //h置初值1 { int l; if (b==NULL) return(0); else if (b->data==x) return(h); else { l=Level(b->lchild,x,h+1); //在左子树...
APH层次分析法原理及C#实现代码
介绍了APH层次分析法的原理,并对其进行了C#的实现,可以完成层次分析法权重的计算
类的继承层次结构的宽度和深度
最近在项目开发中,各位兄弟对于现有的架构有所诟病,主要是继承的问题,层次比较深,层次之间没有很明确的功能划分,造成一定的混乱。我来承担工作,想出一套新的方案,满足大家平时开发的需求。 先总结下现在项目的问题,一个是层次深,一个是抽象的不好;大家有时候可能为了省事,就直接在一个比较高的基类里写入了一个少部分子类才会用到功能,等等;最终造成一种情况就是大家做一个功能时候要添加或者修改一个地方的时候查
求二叉树中某层次结点的个数
#include #define N 63 using namespace std; char str[] = "ab#d##c#e##"; int i = -1; typedef struct node { struct node *leftChild; struct node *rightChild; char data; }BiTreeNode, *Bi
数学建模常用Matlab/Lingo/c代码总结系列——层次分析法
disp('请输入判断矩阵A(n阶)'); A=input('A='); [n,n]=size(A); x=ones(n,100); y=ones(n,100); m=zeros(1,100); m(1)=max(x(:,1)); y(:,1)=x(:,1); x(:,2)=A*y(:,1); m(2)=max(x(:,2)); y(:,2)=x(:,2)/m(2); p=0.0001;i=2;k
用MATLAB进行层次分析法时计算权向量的代码。
层次分析法从基本应用的角度上来说,可以认为成一种进行决策分析的方法。它适用于那些缺乏定量数据的决策场景。通过将一个复杂目标进行分层,最后达到评判最优方案的目的。层次分析法将一个复杂目标分为三层:A.目标层:这一层一般只有一个元素,就是最后要实现的目标,因而叫做目标层。B.准则层:这一层的元素,一般是实现上一层目标要考虑到的多个因素。比如我们的目标层是买一套合适的房子,那准则层就可以是价格,地理位置...
matlab AHP层次分析法求权重
A=[1 1/9 1/3 1/4 1/8 1/7;9 1 5 6 2 3;3 1/5 1 2 1/3 1/2;...%续行 4 1/6 1/2 1 1/3 1/2;8 1/2 3 3 1 2;7 1/3 2 2 1/2 1];%A=input('输入比较矩阵\n'); [v,d]=eig(A);%特征向量,特征值 d=eig(A);%不能省略 max1=max(d); n=fi
C#中的继承封装和多态知识点总结
一、  封装: 封装是实现面向对象程序设计的第一步,封装就是将数据或函数等集合在一个个的单元中(我们称之为类)。被封装的对象通常被称为抽象数据类型。 面向对象程序设计中一般以类作为数据封装的基本单位。类将数据和操作数据的方法结合成一个单位。在设计类时,不希望直接存取类中的数据,而是希望通过方法来存取数据。如此就可以达到封装数据的目的,方便以后维护、升级,也可以在操作数据时多一层判断,提