用vector实现矩阵, vector传参必须用模板泛型

来源:互联网 发布:js压缩还原 编辑:程序博客网 时间:2024/05/02 00:38
#pragma once#include "stdafx.h"//用vector实现矩阵, vector传参必须用模板泛型template <typename Object>class Matrix {private:    //2维的矩阵,2维的vector数组,vector就是一种动态数组    vector<vector<Object>> array;public:    //constructor(), 填充数组(行数)    Matrix(int rows, int cols) :array(rows) {        for (int i = 0; i < rows; i++)            //resize(),改变当前使用数据的大小,如果它比当前使用的大,者填充默认值            array[i].resize(cols);    }    //重载操作符[],实现索引器,常量引用传值    const vector<Object>& operator[](int row)const {        return array[row];    }    //重载操作符[],实现索引器,变量引用传值    vector<Object> & operator[](int row) {        return array[row];    }    //Length()    int numrows() const {        //array.Length()        return array.size();    }    //numcols()    int numcols() const {        //numrows() is true;        return numrows() ? array[0].size() : 0;    }    //deconstructor()    virtual ~Matrix() {}    //copy()    void copy(const Matrix<int>& from, Matrix<int>& to) {        for (int i = 0; i < to.numrows; i++) {            to[i] = from[i];        }    }};  
0 0
原创粉丝点击