91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

C++運算符重載怎樣實現算術運算

c++
小樊
83
2024-11-09 02:39:34
欄目: 編程語言

在C++中,運算符重載允許你為自定義類型(如類或結構體)定義運算符的行為。要實現算術運算符重載,你需要重載以下運算符:

  1. 加法運算符(+)
  2. 減法運算符(-)
  3. 乘法運算符(*)
  4. 除法運算符(/)
  5. 取模運算符(%)
  6. 負數運算符(-)
  7. 正數運算符(+)

以下是一個簡單的示例,展示了如何為一個名為MyNumber的類實現這些運算符重載:

#include <iostream>

class MyNumber {
public:
    MyNumber(int value) : value_(value) {}

    // 加法運算符重載
    MyNumber operator+(const MyNumber& other) const {
        return MyNumber(value_ + other.value_);
    }

    // 減法運算符重載
    MyNumber operator-(const MyNumber& other) const {
        return MyNumber(value_ - other.value_);
    }

    // 乘法運算符重載
    MyNumber operator*(const MyNumber& other) const {
        return MyNumber(value_ * other.value_);
    }

    // 除法運算符重載
    MyNumber operator/(const MyNumber& other) const {
        return MyNumber(value_ / other.value_);
    }

    // 取模運算符重載
    MyNumber operator%(const MyNumber& other) const {
        return MyNumber(value_ % other.value_);
    }

    // 負數運算符重載
    MyNumber operator-() const {
        return MyNumber(-value_);
    }

    // 正數運算符重載
    MyNumber operator+() const {
        return MyNumber(value_);
    }

    // 輸出運算符重載
    friend std::ostream& operator<<(std::ostream& os, const MyNumber& number) {
        os << number.value_;
        return os;
    }

private:
    int value_;
};

int main() {
    MyNumber a(5);
    MyNumber b(3);

    MyNumber c = a + b;
    MyNumber d = a - b;
    MyNumber e = a * b;
    MyNumber f = a / b;
    MyNumber g = a % b;

    std::cout << "a + b = "<< c << std::endl;
    std::cout << "a - b = "<< d << std::endl;
    std::cout << "a * b = "<< e << std::endl;
    std::cout << "a / b = "<< f << std::endl;
    std::cout << "a % b = "<< g << std::endl;

    return 0;
}

在這個示例中,我們定義了一個名為MyNumber的類,它包含一個私有成員變量value_。我們為這個類重載了加法、減法、乘法、除法、取模、負數和正數運算符。此外,我們還重載了輸出運算符(<<),以便在控制臺上打印MyNumber對象。

main函數中,我們創建了兩個MyNumber對象ab,并使用重載的運算符對它們進行操作。最后,我們將結果輸出到控制臺。

0
苍山县| 会泽县| 八宿县| 蛟河市| 清河县| 哈密市| 青田县| 拜城县| 广宗县| 武鸣县| 东安县| 井冈山市| 吉隆县| 获嘉县| 蓬莱市| 雷波县| 绿春县| 安龙县| 米易县| 托里县| 嘉峪关市| 阳江市| 扶风县| 全南县| 洮南市| 理塘县| 恩平市| 南丰县| 永靖县| 蚌埠市| 西宁市| 永平县| 加查县| 长治市| 开江县| 苏尼特左旗| 麻城市| 青冈县| 连平县| 古丈县| 佳木斯市|