对象数组与对象指针

对象数组与对象指针

ID:37718225

大小:28.91 KB

页数:7页

时间:2019-05-29

对象数组与对象指针_第1页
对象数组与对象指针_第2页
对象数组与对象指针_第3页
对象数组与对象指针_第4页
对象数组与对象指针_第5页
资源描述:

《对象数组与对象指针》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、重庆邮电大学经济管理学院面向对象程序设计上级实验课程对象数组与对象指针对象数组与对象指针一.实验目的与要求1.掌握数组与指针的定义与使用方法。2.理解组与指针的存储分配与表示。3.学习函数传递数组的方法。4.学习用指针和引用向函数传递参数。5.学习静态数据成员和静态成员函数的使用。6.理解友元与友元函数的作用与使用方法。二.实验准备与内容1.设计一个矩阵类Matrix(矩阵由二维数组实现),有分配空间和对矩阵赋值的功能。2.练习将这个矩阵类的对象作为参数传送到函数Mul(),用普通,指针和引用三种方法实现,并要注意这三种方式的区别。(1)直接传送:Mul(Matrixa,Matrixb)

2、。实际上只是传送值,在函数中针对对象的任何修改均不影响该对象本身。(2)指针传送:Mul(Matrix*pa,Matrix*pb)。要注意指针的级数。(3)引用传送:Mul(Matrix&a,Matrix&b)这种调用将影响参数的实际值。3.将Mul函数实现:完成对传送的两个Martix对象的相乘运算。下面给出矩阵相乘的算法:矩阵a[I][j]与矩阵b[x][y]相乘,条件是j==x。乘积是一个新的矩阵c[I][j],其中c[I][j]的值是∑(a[I][k]*b[k][y])其中k=0,1,2,……,j。4.在Matrix类中定义一个静态数据成员,记录当前所有Matrix对象的数量。5

3、.定义一个友元函数实现转制功能。转制是指将数组中a[i][j]与a[j][i]的值对调。三.实验方法与步骤1.建立一个工程。在工程中定义一个Matrix类,在构造函数中根据参数创建数据成员:一个二维数组。提示:用构造函数记录二维数组的大小(unsignedintx,unsignedinty)。类中实际定义的二维数组的数据成员是一个指针(二级指针),int**pMatrix。在构造函数中根据传送的参数为这个二维数组分配空间:pMatrix=newint[x][y]。1.设计成员函数,完成对数组的赋值的功能。本例中定义的成员函数为SetValue(unsignedintx,unsignedi

4、nty,intvalue)。2.参考以上的说明,以常用三种方式实现向Mul()函数传递参数,并返回函数相乘的结果。3.在类中定义一个静态数据成ObjectAliveNo,记录当前共有几个Matrix类的对象。实现方法:可以在对象的构造函数中向该数据成员报告(使静态数据成员加1);在析构函数中也向该数据成员报告(使静态数据成员减1)。并要注意,在程序开始时,给这个静态数据成员赋初值。4.在Matrix类中定义一个友元函数,使其具有对Matrix类的对象内的数组进行转制功能。5.写出实验报告结合思考与练习题,写出实验报告程序实现:#include"matrix.h"  #include

5、stream>  using namespace std;  class Matrix  {  private:      int **pmatrix;      int imaxx,imaxy;      static int matrixnum;  public:      Matrix(unsigned int x,unsigned int y);      Matrix(Matrix &m);      ~Matrix();      bool SetValue(unsigned int x,unsigned int y,int value);      void input()

6、;      void print() const;      Matrix operator * (Matrix &m);      Matrix operator = (Matrix &m);      friend Matrix Rotate(Matrix &m);      friend Matrix Mul(Matrix a,Matrix b);};  int Matrix::matrixnum=0;  Matrix::Matrix(unsigned int x,unsigned int y)  {      pmatrix=new int *[x];      if(!pma

7、trix)      {          cerr<<"Matrix constructing error"<

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

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

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