运算符在矩阵中重载:如何同时重载()和=

时间:2015-04-19 10:11:32

标签: c++ class operator-overloading

我正在尝试制作一类矩阵并尝试像这样分配该索引的值

M(0,3)=3;

通过运算符重载。 无法弄清楚如何重载此运算符 它的原型应该是这样的吗?

void operator()=(int i,int j,int s);//how to overload?

float operator()(int i,int j);//this can be used to get that number form that index.

1 个答案:

答案 0 :(得分:2)

没有operator()=。您希望operator()返回对矩阵中元素的引用。然后您可以分配给引用的元素。

float& operator()(int i,int j);
const float& operator()(int i, int j) const;

您可能还需要一个返回const引用的const重载。