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

溫馨提示×

如何在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
黑山县| 浮梁县| 栾川县| 边坝县| 萨迦县| 三台县| 香河县| 登封市| 谢通门县| 张家港市| 福泉市| 两当县| 友谊县| 峡江县| 余江县| 桃源县| 瓮安县| 浦北县| 青海省| 马边| 丹凤县| 阿克| 小金县| 务川| 库尔勒市| 嘉峪关市| 宝兴县| 汉川市| 新建县| 浮山县| 杂多县| 兴国县| 米脂县| 济南市| 历史| 京山县| 洞头县| 钦州市| 黄龙县| 东港市| 临泉县|