从模板更改为普通数据类型(int,float,...等)

时间:2018-03-14 21:56:08

标签: c++ c++11 templates

我必须做一个小组项目。它的想法是在两个矩阵上进行所有数学属性(加,乘,转置,减法),但我们必须使用模板和向量。

我的问题/关注点是,如果它不是用矢量或模板实现的,我该怎么做呢?

例如,这部分:

//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");
}

0 个答案:

没有答案