亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

如何在C++中實現運算符重載

c++
小樊
83
2024-08-18 07:43:38
欄目: 編程語言

在C++中,可以通過定義成員函數或非成員函數來實現運算符重載。以下是一些示例代碼:

  1. 重載加法運算符:
class Complex {
private:
    double real;
    double imaginary;
public:
    Complex(double r, double i) : real(r), imaginary(i) {}

    Complex operator+(const Complex& other) {
        return Complex(real + other.real, imaginary + other.imaginary);
    }
};

int main() {
    Complex c1(1, 2);
    Complex c2(3, 4);
    Complex result = c1 + c2;
    return 0;
}
  1. 重載自增運算符:
class Number {
private:
    int value;
public:
    Number(int v) : value(v) {}

    Number& operator++() {
        value++;
        return *this;
    }
};

int main() {
    Number num(5);
    ++num;
    return 0;
}
  1. 重載流插入運算符:
#include <iostream>

class Complex {
private:
    double real;
    double imaginary;
public:
    Complex(double r, double i) : real(r), imaginary(i) {}

    friend std::ostream& operator<<(std::ostream& os, const Complex& c) {
        os << c.real << " + " << c.imaginary << "i";
        return os;
    }
};

int main() {
    Complex c(1, 2);
    std::cout << c << std::endl;
    return 0;
}

需要注意的是,運算符重載一般應該符合運算符的原有語義,遵循常規的運算符規則,并不應該引入令人困惑的行為。

0
南皮县| 香港| 奉化市| 远安县| 宁河县| 新田县| 印江| 彭阳县| 岫岩| 西安市| 莱州市| 石台县| 涡阳县| 白水县| 湘阴县| 梁河县| 太湖县| 新晃| 五寨县| 大理市| 会宁县| 白银市| 五常市| 上栗县| 花垣县| 施秉县| 全椒县| 鄱阳县| 社旗县| 九江市| 新巴尔虎右旗| 扬州市| 绥化市| 金平| 冕宁县| 兴山县| 西乌珠穆沁旗| 桑植县| 肥乡县| 白河县| 郧西县|