c++ - C++中如何比较两个对象的成员变量?

标签 c++ oop

我在 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/

相关文章:

c++ - 这两行之间有什么区别吗?

c++ - 一旦另一个事件发生,我的 libevent 计时器就会停止……这正常吗?

c++ - 在我的类 C++ 中创建一个对象

c++ - 是否可以使用插件和 Illustrator SDK 重组 Illustrator 的前端?

PHP5 AutoLoader SPL_AutoLoad 失败

.net - 从更高级别获取信息?

java - Android 设备中等效的标签控件是什么?

C++ 程序以代码 01 退出,未执行任何代码

php - 如何在 PHP 中创建公共(public)列表对象?

Javascript 公共(public)方法参数作为私有(private)变量