我必须做一个小组项目。它的想法是在两个矩阵上进行所有数学属性(加,乘,转置,减法),但我们必须使用模板和向量。
我的问题/关注点是,如果它不是用矢量或模板实现的,我该怎么做呢?
例如,这部分:
//Matrix is the class name,mtrx is a private vector in the class
Matrix<T> Matrix<T>::operator+(const Matrix<T>& obj){
Matrix<T> res(*this);
int r1,c1,r2,c2;
r1 = mtrx.size();
c1 = mtrx[0].size();
r2 = obj.mtrx.size();
c2 = obj.mtrx[0].size();
if(r1==r2 && c1==c2){
for(int i = 0; i < r1; i++){
for(int j = 0; j < c1; j++){
res.mtrx[i][j] += obj.mtrx[i][j];
}
}
return res;
}
throw invalid_argument("Cannot add, matrices don't have same dimensions");
}