matrix.h

来自「神经网络中的多层感知器的BP(反向传播)学习算法」· C头文件 代码 · 共 46 行

H
46
字号
#ifndef _MATRIX_H__
#define _MATRIX_H__

template<class T>
class Matrix
{
public:
    Matrix(int line, int column);
    Matrix(int line, int column, const T& init);
    T& operator () (int line, int column);
private:
    T *m_pArray;
    int m_iLine;
    int m_iColumn;
};

typedef Matrix<double> DMatrix;

template<class T>
Matrix<T>::Matrix(int line, int column)
{
    m_pArray = new T[line * column];
    m_iLine = line;
    m_iColumn = column;
}

template<class T>
Matrix<T>::Matrix(int line, int column, const T& init)
{
    m_pArray  = new T[line *column];
    for (int i = 0; i < line; i++)
        for (int j = 0; j < column; j++)
            m_pArray[i * column + j] = init;

    m_iLine = line;
    m_iColumn = column;
}

template<class T>
T& Matrix<T>::operator ()(int line, int column)
{
    return m_pArray[line * m_iColumn + column];
}

#endif /* _MATRIX_H__ */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?