溫馨提示×

C++中如何進行運算符重載

c++
小樊
81
2024-10-27 07:37:59
欄目: 編程語言

在 C++ 中,運算符重載是通過為已有的運算符賦予新的意義,使其作用于自定義的數(shù)據(jù)類型上。運算符重載的語法是在自定義類型的名稱后加上運算符,并使用范圍解析運算符 ::

以下是一個簡單的例子,演示了如何為一個自定義的類 Fraction 重載加法運算符 +

class Fraction {
public:
    // 構造函數(shù)
    Fraction(int numerator = 0, int denominator = 1)
        : numerator_(numerator), denominator_(denominator) {}

    // 重載加法運算符
    Fraction operator+(const Fraction& other) const {
        int newNumerator = numerator_ * other.denominator_ + other.numerator_ * denominator_;
        int newDenominator = denominator_ * other.denominator_;
        return Fraction(newNumerator, newDenominator);
    }

private:
    int numerator_;
    int denominator_;
};

在上面的例子中,我們定義了一個 Fraction 類,并重載了加法運算符 +。在重載的函數(shù)中,我們使用了傳入?yún)?shù)的成員變量和本類的成員變量計算出了新的分數(shù),并返回了一個 Fraction 對象。

除了加法運算符,我們還可以重載其他運算符,例如減法運算符 -、乘法運算符 *、除法運算符 / 等等。重載的運算符可以像任意其他函數(shù)一樣進行調(diào)用,例如:

Fraction f1(1, 2);
Fraction f2(3, 4);
Fraction f3 = f1 + f2; // 調(diào)用重載的加法運算符

0