多态补充案例

多态补充案例

ID:40643746

大小:19.56 KB

页数:15页

时间:2019-08-05

多态补充案例_第1页
多态补充案例_第2页
多态补充案例_第3页
多态补充案例_第4页
多态补充案例_第5页
资源描述:

《多态补充案例》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、一、编写程序,计算汽车运行的时间。首先建立基类car,其中使用数据成员distance存储两点间的距离。假定距离以英里计算,速度为每小时80英里,使用虚函数travel_time()计算并显示通过这段距离的时间。在派生类truck中,假定距离以千米计算,速度为每小时120千米,使用虚函数travel_time()计算并显示通过这段距离的时间1#includeusingnamespacestd;constdoublecar_speed=80;//基类速度(以英里/小时计量)constdoubletruck_speed=120;//派生类速度(以千米/小时计量)classc

2、ar{private:doubledistance;//两点的距离用英里计数doublet;//运行时间public:car(doubledis,doublet0=0):distance(dis),t(t0){}car(){}~car(){}virtualvoidtravel_time(){t=distance/car_speed;cout<<"car运行时间:"<

3、ar(dis1),distance(dis2),t(t1){}~truck(){}voidtravel_time(){t=distance/truck_speed;cout<<"truck运行时间:"<travel_time();}intmain(){carc(160);fun(&c);truckt(0,360);fun(&t);return0;}二、编写程序,分别用成员函数和友元函数重载运输符“+”和“-”,将两个二维数组相加和相减,要求第一个二维数组的值由构造函数设置,另一个二维数组的值由键盘输入。2#includ

4、eusingnamespacestd;classMatrix{public:intmatrix[3][3];Matrix(intm[][3]){for(inti=0;i<3;i++)for(intj=0;j<3;j++)this->matrix[i][j]=m[i][j];}Matrix(){}Matrix&operator=(Matrix&m){for(inti=0;i<3;i++)for(intj=0;j<3;j++)this->matrix[i][j]=m.matrix[i][j];return*this;}Matrixoperator+(Matrix&m){fo

5、r(inti=0;i<3;i++)for(intj=0;j<3;j++)matrix[i][j]=matrix[i][j]+m.matrix[i][j];return*this;}Matrixoperator-(Matrix&m){for(inti=0;i<3;i++)for(intj=0;j<3;j++)matrix[i][j]=m.matrix[i][j]-this->matrix[i][j];return*this;}voiddisplay(){for(inti=0;i<3;i++){for(intj=0;j<3;j++)cout<matrix[i][j]<<"";co

6、ut<>a1[i][j];Matrixm1(a1);Matrixm2;m2=m+m1;cout<<"相加后的矩阵为:"<

7、l;m2.display();}三、为日期类(年月日)重载“+”运算符,实现在某一个日期上加一个天数。如2012年12月9日加上49天则为2013年1月27日。3//本题的精华就是在处理日期相加的算法上面(见注释(1)(2))#includeusingnamespacestd;classDate{private:intyear,month,day;staticinta[2][13];//a[0]储存平

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。