c 第五次作业

发布 2022-09-06 00:57:28 阅读 2251

题目一:实验课内容——matrix类。

请根据类声明将程序补充完整。

class matrix{

int *p_data; /矩阵数据。

int row, col; /矩阵的行数和列数。

public:

matrix(int r, int c);

matrix(matrix&);

matrix();

int & element(int i,int j);/访问矩阵元素。

int element(int i,int j) const ;/访问矩阵元素(为常量对象而提供)

int dimension_row() const ; 得到矩阵的行数。

int dimension_column() const; /得到矩阵的列数。

void display() const ;/按row行col列显示矩阵元素。

matrix transposematrix();实现矩阵转置,即原来矩阵的行变成目标矩阵的列。

friend matrix multiplymatrix(matrix&, matrix&);实现矩阵的乘积。

;对矩阵相乘的解释:

58139矩阵相乘请看示例,首先满足左矩阵的列数和右矩阵的行数相同,然后左矩阵第一行的各元素与右矩阵第一列对应元素相乘后相加,第一行的元素再与第二列元素相乘后相加…..4月15日作业内容。

题目二:pachage继承层次。

一些快递商,如fedex、dhl和ups,都提供多样化服务,同时收取不同费用。

创建一个表示各种不同包裹的继承层次。以包裹类package作为基类,两日包裹类twodaypackage和连夜包裹类overnightpackage作为派生类。

基类package应该包括寄件人和收件人姓名、地址、邮政编码等的数据成员。此外,还包括包裹重量(以克计)和每克费用的数据成员。类的构造函数应初始化这些成员,并确保重量和每克费用为正值。

package应提供public成员函数calculatecost,该函数计算该包裹的费用并返回。

派生类twodaypackage应继承基类package的功能,但还应该包含一个数据成员,表示付给两日快递服务的平寄费。twodaypackage构造函数接收一个值来初始化这个数据成员。类twodaypackage还应该重新定义基类的成员函数calculatecost来计算运输费用,即将平寄费加到由基类package的calculatecost函数计算得到的基于重量的费用中。

派生类overnightpackage应直接继承基类,并包含一个附加的数据成员,表示付给连夜快递服务的额外费用。类overnightpackage应重新定义基类的成员函数calculatecost,从而使它在计算运输费用时,将额外的每克费用加到标准的每克费用上。编写测试程序,创建每种package的对象并测试成员函数的calculatecost。

题目三:account继承层次。

创建一个银行帐户的层次,表示银行的所有客户帐户。所有的客户都能在他们的银行帐户存取、取钱,但是帐户也可以分成更具体的类型。例如,一方面存款帐户s**ingsaccount依靠存款生利;另一方面,支票帐户checkingaccount对每笔交易(即存款或取款)收取费用。

创建一个类层次,以account作为基类,s**ingsaccount和checkingaccount作为派生类。基类account应该包括一个double类型的数据成员balance,表示帐户的余额。该类应提供一个构造函数,接受一个初始余额值并用它初始化数据成员balance,表示帐户余额。

该类提供三个成员函数,成员函数credit可以向当前余额加钱;成员函数debit负责从帐户中取钱,并保证帐户不会透支。如果提取金额大于帐户余额,函数将保持balance不变,并负责打印信息”debit amount exceeded account balance” ;成员函数getbalance则返回当前balance的值。

派生类s**ingsaccount不仅继承基类account的功能,而且提供一个附加的double类型数据成员interestrate表示这个帐户的利率(百分比)。s**ingsaccount的构造函数应接收初始余额值和初始利率值,还应提供一个public成员函数calculateinterest,返回代表帐户的利息的一个double值,这个值是balance和interestrate的乘积。注意:

类s**ingsaccount应继承成员函数credit和debit,不需要重新定义。

派生类checkingaccount不仅继承了基类account的功能,还应提供一个附加的double类型数据成员表示每笔交易的费用。checkingaccount的构造函数应接收初始余额值和交易费用值。类checkingaccount需要重新定义成员函数credit和debit,当每笔交易完成时,从balance中减去每笔交易的费用。

重新定义这些函数调用基类account的这两个函数来执行帐户余额的更新。checkingaccount的debit函数只有当钱被成功提取时(即提取金额不超过帐户余额时)才应收取交易费。提示:

定义account的debit函数使它返回一个bool类型值,表示钱是否被成功提取。然后利用该值决定是否需要扣除交易费。

当这个层次中的类定义完毕后,编写一个程序,要求创建每个类的对象并测试它们的成员函数。将利息加到s**ingsaccount对象的方法是:先调用它的成员函数calculateinterest,然后将返回的利息数传递给该对象的credit函数。

C第五次作业

第七章 模板。一 单选题 1 假设定义如下函数模板 template t max t x,t y return x y x y 并定义了int i char c 语句,错误的调用语句是 ca max i,i b max c,c c max int c,i d max i,c 2 下列 不是模板的使用...

第五次作业

2011级化工班学号姓名第五次作业。一 填空。1.煤的热化学转化是煤炭加工的最重要的方法,包括煤的干馏 和等。2.煤的热解过程大致可分为三个阶段及。3.一般,随煤化程度增加,热解开始温度逐渐降低 升高 各种煤中褐煤的分解温度最低,无烟煤最高。4.煤低温干馏可以得到煤气 焦油和。5.焦炭的质量由其 物...

第五次作业

公路的线形最终是以平面线形 纵断面线形和横断面形式组合而成的立体线形映入驾驶员眼帘的。在诸多的交通事故中,大部分驾驶员出事故的原因是由于困难的行驶条件所造成的,道路的几何要素或线形组合不合理,都有可能导致交通事故的发生。本文基于交通安全研究道路曲线元素的基本组合关系,指出曲线组合关系不当是发生交通事...