概述
题目描述
问题描述
矩阵的加、减、乘、转置 30 分
算法设计
1.设计矩阵类:私有数据成员:row,col,int** a(双重指针)
2.重载构造函数中初始化双重指针(申请内存空间,也就是形成了二维数组,并全部赋值为0)
a=new int*[row];//先申请每一行
for(i=0;i<row;i++)
a[i]=new int[col];再为每一行申请col个元素
3.拷贝构造函数:与构造类似,也是申请二维数组空间,但是传入的参数是(const juzhen& j2),拷贝的格式就是这样的
4.析构函数:释放内存空间,一定要注意步骤,先释放行:每一行的元素,再释放每一行,也就是与申请的时候相反
5.=,赋值运算符的重载:为什么要用到这个呢?(不用的话就是:juzhen j3(j1+j2);调用的就是拷贝构造函数)
就是在如j3=j1+j2;的时候我们先做的+运算符的重载,结果返回的矩阵要赋值给j3,所以我们要首先将j3的内存释放掉,
重新申请内存,就是为了防止j3的行列与j1,j2不同。而函数中的j3就是this这个引用
然后就是简单的将j1,j2对应的每行没列元素加给j3就行了,最后返回j3就行了,注意返回的是引用,也就是this
6.+,-运算符的重载:首先建立一个新的矩阵对象用来储存运算出来的矩阵&
最后
以上就是能干身影为你收集整理的海大上机-(专硕)2017-5-矩阵运算的全部内容,希望文章能够帮你解决海大上机-(专硕)2017-5-矩阵运算所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复