如何在重载运算符中使用函数指针

时间:2015-01-07 23:12:32

标签: c++ arrays matlab matrix

我正在尝试使用Matlab方法来获取矩阵元素。例如,如果我在MatLab中有以下内容:

>> A = [1 2; 3 4]

 A =

 1     2
 3     4

>> A(1,1) = 5

将生成此输出:

A =

 5     2
 3     4

使用c ++中的operator()可以实现吗?提前谢谢。

@edit

对不起伙计们,我认为可以通过函数指针实现解决方案。

我试着变得更加平淡。我有一个类矩阵,我想使用operator()更改类的相应值,将相应的数字传递给行和列。

1 个答案:

答案 0 :(得分:2)

template<size_t I, size_t J>
class M
{
    public:
    M(double e00, ...)
    {
        // use arg_list :)
    }
    double& operator () (int i, int j)
    {
        return m[i-1][j-1];
    }
    private:
    double m[I][J];
};

M<2,2> A(1,2,3,4);
A(1,1)=5.0;