我在 C++ 中创建了一个 Fraction 类,它存储分数的分子和分母,并有多种方法来对这些数字进行运算。我如何将一个对象的内容与另一个对象进行比较?我的想法是将指向第二个对象的指针传递给执行比较的第一个对象的方法。任何帮助将不胜感激。
最佳答案
你可以重载运算符==
,像这样:
bool operator==(const Fraction &left, const Fraction &right) {
// Warning: this check is oversimplified; it may overflow!
return left.num*right.denom == right.num*left.denom;
}
现在你可以这样做了:
Fraction a(10, 20);
Fraction b(2, 4);
if (a == b) {
...
}
关于运算符重载的一般信息:link .
关于c++ - C++中如何比较两个对象的成员变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20249159/