如何用矩阵类重载比较运算符?

时间:2014-04-14 20:33:31

标签: c++ overloading operator-keyword

无论我搜索多么努力,我都无法弄清楚这一点。我必须做一个重载运算符的项目,我遇到的只有两个是==和!=。对于项目方向,==被定义为两个矩阵的行,列和值相同。

到目前为止= =我所拥有的只是:

bool Matrix::operator==(const Matrix & m) {
// not sure what to return if all values must be equal
}

问题是:我在函数中返回并比较什么才能正常工作?

提前谢谢。

1 个答案:

答案 0 :(得分:1)

在数学术语中,矩阵等式要求两个矩阵的所有对应元素, A B 具有相同的值。从而 A = B 当且仅当 A i j <所有 i = B i j Ĵ

在您考虑使用C ++实现的情况下,您需要验证Matrix实例thism的大小是否相同,每个实例都包含相同的内容相应位置的价值。如果它们的大小相同且在相应位置具有相同的值,则==将返回true(否则为false),!=将返回false }(true否则)。