无论我搜索多么努力,我都无法弄清楚这一点。我必须做一个重载运算符的项目,我遇到的只有两个是==和!=。对于项目方向,==被定义为两个矩阵的行,列和值相同。
到目前为止= =我所拥有的只是:
bool Matrix::operator==(const Matrix & m) {
// not sure what to return if all values must be equal
}
问题是:我在函数中返回并比较什么才能正常工作?
提前谢谢。
答案 0 :(得分:1)
在数学术语中,矩阵等式要求两个矩阵的所有对应元素, A 和 B 具有相同的值。从而 A = B 当且仅当 A i , j <所有 i 的 = B i , j , Ĵ的
在您考虑使用C ++实现的情况下,您需要验证Matrix
实例this
和m
的大小是否相同,每个实例都包含相同的内容相应位置的价值。如果它们的大小相同且在相应位置具有相同的值,则==
将返回true
(否则为false
),!=
将返回false
}(true
否则)。