我已经成功重载了()运算符。
inline real& Array::operator ()(int j,int i)
{
//TODO checks
return array_[i + j*xSize_];
}
它也可以正常工作。但是我没想到,如何在课堂内访问它。例如,以下函数打印所有元素:
for(int y = ySize_ -1; y >= 0; --y)
{
for( int x = 0; x < xSize_; ++x)
{
std::cout << this(x,y);
}
std::cout << std::endl;
}
我如何访问呢?
答案 0 :(得分:7)
您可以使用以下语法:
(*this)(x, y);
或更长的形式:
this->operator()(x, y);
或
operator()(x,y);