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

C++ 如何使用矩阵类重载比较运算符?,c++,overloading,operator-keyword,C++,Overloading,Operator Keyword,无论我多么努力地寻找,我都无法找到答案。我必须做一个重载操作符的项目,我唯一遇到问题的两个是==和!=。对于项目,方向==定义为两个矩阵的行、列和值相同 到目前为止,对于==我所拥有的是: bool Matrix::operator==(const Matrix & m) { // not sure what to return if all values must be equal } 问题是:为了让它正常工作,我应该在函数中返回和比较什么 提前谢谢 在数学术语中,矩阵等式要求两个矩

无论我多么努力地寻找,我都无法找到答案。我必须做一个重载操作符的项目,我唯一遇到问题的两个是==和!=。对于项目,方向==定义为两个矩阵的行、列和值相同

到目前为止,对于==我所拥有的是:

bool Matrix::operator==(const Matrix & m) {
// not sure what to return if all values must be equal
}
问题是:为了让它正常工作,我应该在函数中返回和比较什么


提前谢谢

在数学术语中,矩阵等式要求两个矩阵的所有对应元素,A和B具有相同的值。因此 A=B当且仅当所有i,j的Ai,j=Bi,j


在你的例子中,你在C++中查看实现时,你需要验证<代码>矩阵实例<代码>,和M是相同的大小,它们在相应的位置都包含相同的值。如果它们大小相同且在相应位置具有相同的值,则

==
将返回
true
false
否则),并且
=
将返回
false
true
否则)。

因此,如果一切正常,for==我可以做:返回true;如果不起作用,返回false?好的,非常感谢。假设我有一个矩阵对象a和矩阵对象b,它们彼此相等。要测试这是否有效,我只需要cout@tmricks94,您可能会得到
1
,而不是
true
,但是是的,它应该是这样的。此外,您可能需要在
a==b
周围加括号,以确保编译器清楚您的意思。要求家庭作业帮助的问题必须包括您迄今为止为解决问题所做工作的摘要,以及您解决问题的困难描述。检查并确认。