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

溫馨提示×

C++運算符重載怎樣使用

c++
小樊
82
2024-10-31 05:20:48
欄目: 編程語言

在C++中,運算符重載是一種允許你自定義已有運算符行為的方法。這可以使代碼更易于閱讀和理解,同時提高代碼的可重用性。運算符重載的基本語法如下:

返回類型 operator運算符 (參數列表) {
    // 運算符重載的實現代碼
}

以下是一些常見的運算符重載示例:

  1. 加法運算符重載:
class Complex {
public:
    Complex(double real, double imag) : real_(real), imag_(imag) {}

    Complex operator+(const Complex& other) const {
        return Complex(real_ + other.real_, imag_ + other.imag_);
    }

private:
    double real_;
    double imag_;
};
  1. 乘法運算符重載:
class Complex {
public:
    Complex(double real, double imag) : real_(real), imag_(imag) {}

    Complex operator*(const Complex& other) const {
        return Complex(real_ * other.real_ - imag_ * other.imag_, real_ * other.imag_ + imag_ * other.real_);
    }

private:
    double real_;
    double imag_;
};
  1. 重載小于運算符:
class Person {
public:
    Person(const std::string& name, int age) : name_(name), age_(age) {}

    bool operator<(const Person& other) const {
        return age_ < other.age_;
    }

private:
    std::string name_;
    int age_;
};
  1. 重載函數調用運算符:
class MyClass {
public:
    void print() const {
        std::cout << "MyClass object" << std::endl;
    }
};

MyClass operator()(const MyClass& obj) {
    obj.print();
    return obj;
}

注意:不是所有的運算符都可以被重載,例如賦值運算符(=)、比較運算符(==, !=, >, <, <=, >=)等。但是你可以為類定義自定義的運算符,只要它們符合C++的語法規則。

0
井研县| 鄂托克前旗| 马关县| 轮台县| 宝山区| 龙游县| 三河市| 巴楚县| 新蔡县| 通榆县| 建平县| 吉林市| 淅川县| 江华| 永泰县| 曲靖市| 菏泽市| 久治县| 江源县| 河北省| 石嘴山市| 金平| 法库县| 河北区| 东港市| 夏河县| 民勤县| 大理市| 灵川县| 信宜市| 鄂托克旗| 静乐县| 乌鲁木齐市| 曲麻莱县| 辽中县| 马鞍山市| 东山县| 桐庐县| 郑州市| 西畴县| 化德县|