- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C实验二实验报告陈志灵
福建农林大学计算机与信息学院实验报告
系: 计算机与信息学院 专业: 计算机科学与技术 年级: 2011
姓名: 陈志灵 学号: 3116010036 实验室号 田C507 计算机号 108
实验时间: 2013.11.14 指导教师签字: 成绩:
实验名称:
一、实验目的和要求
1、理解继承在软件工程中的作用。2、掌握多态的“通用编程”的思想。
3、掌握运算符重载。
二、实验内容和原理
1、多态在工资系统中的应用。请给出一个根据员工类型完成每周工资单计算的程序,具体要求如下:
定义一个类Employee作为父类,该类有三个子类:Boss类、PieceWorker类、HourlyWorker。
Boss类的工资计算的原则:不计工作时间,每周获得固定工资。
PieceWorker类的工资计算原则:根据生产的产品数量,每周发放工资。
HourlyWorker类的工资计算原则:根据工作时间,每周发放工资。每周工作的时间不超过40小时。
Employee类中定义了一个方法Earnings(),该方法没有实质性的工作;而在每个子类中都提供了恰当的Earnings()方法的重写。
定义TestEmployee类,在其Main方法中,创建三种类型的员工对象,并计算相应的工资。
2、请定义一个矩阵类,实现矩阵的转置、矩阵元素值的取反、矩阵的相减、矩阵的相加、矩阵的相乘、以及将矩阵元素的值乘以n等运算。
参考实验步骤及类图:
(1)在Matrix类中,定义私有变量rows、cols和mat。
(2)定义两个构造方法:Matrix(int iRow, int Cols),Matrix(int iRow, int Cols, int dispersion )。其中,参数dispersion指定随机生成的矩阵元素的范围。如参数值dispersion为5,则使得矩阵元素的值在-5~5的范围内。
(3)定义属性Rows和Cols。在Set访问器中,提供参数合法性检查的代码。
(4)定义索引器this[int iRow, int iCol],实现根据行列号访问矩阵中的元素。
(5)重写ToString()方法,以“矩阵”的格式输出矩阵中的所有元素。
(6)定义私有方法Matrix StrassenMultiply(Matrix A, Matrix B) ,实现两个矩阵的相乘。
(7)定义私有方法Matrix Multiply(double n, Matrix m),实现将矩阵元素的值乘以n。
(8)定义私有方法 Matrix Add(Matrix m1, Matrix m2),实现两个矩阵的相加。
(9)调用上述方法,重载运算符“-”、“+”、“*”,依次实现将矩阵元素的取反、矩阵的相减、矩阵的相加、矩阵的相乘、以及将矩阵元素的值乘以n五类运算。
如:public static Matrix operator -(Matrix m)
{ return Matrix.Multiply(-1, m); }
public static Matrix operator -(Matrix m1, Matrix m2)
{ return Matrix.Add(m1, -m2); }
(10)定义public static Matrix Transpose(Matrix m)方法,生成转置矩阵。
(11)定义Test类,在其Main方法中,完成相关测试。
三、实验环境
Windows 7
四、算法描述及实验步骤
这个实验主要做类的继承以及运算符的重载,在充分理解继承和运算符重载,在编写代码是没什么困难的。
五、调试过程
在测试结果的时候,发现总是要输入矩阵的值,经过检查发现原来是每个重载里面都用到构造方法Matrix(int iRows,int iCols),而这个方法里面每次都要输入矩阵,所以重载的方法中的矩阵的初始化都被我改成无参构造,通过赋值初始化其他成员变量。
六、实验结果
1.
2.
七、总结
这次实验熟悉了类的继承和运算符的重载,更加了解C#编程的一些细节,也学了些快捷键。写代码的时候要注意编译器给出的错误提示,找出错误,然后更改,记住错误发生的原因,争取以后不犯同样的错误。
附录:
1.
Employee.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
names
您可能关注的文档
- BIOS设置图解教程.doc
- BIOS设置基础详解.doc
- BIOS设置方法图觖及如何设置启动项.doc
- BIOS设置翻译图文教程.doc
- BIOS详细分解图组.doc
- BlackBerryDM黑莓手机桌面管理器使用教程方法.doc
- BlackBerry入门教程黑莓手机软件安装方法.doc
- BIOS里一些常用的功能设置.docx
- BLINK迷你无线路由器BLMP的设置方法与步骤.docx
- blos设置怎样设置第一启动盘.doc
- 施工企业2025年《春节节后复工复产》工作实施方案 .docx
- 施工企业2025年春节节后复工复产工作实施方案 .docx
- 施工企业2025年《春节节后复工复产》工作实施方案 (4份).docx
- 施工企业2025年《春节节后复工复产》工作实施方案 (合计4份).docx
- 2025年施工项目部《春节节后复工复产》工作实施方案 .docx
- 2025年建筑施工《春节节后复工复产》工作实施方案 (合计4份).docx
- 2025年施工项目部《春节节后复工复产》工作实施方案 (汇编4份).docx
- 2025年施工项目部春节节后复工复产工作实施方案 (4份).docx
- 2025年施工项目部《春节节后复工复产》工作实施方案 (4份)_78.docx
- 2025年施工项目部《春节节后复工复产》工作实施方案 (4份).docx
文档评论(0)