溫馨提示×

c++ operator怎樣實現(xiàn)自定義

c++
小樊
81
2024-11-16 21:05:51
欄目: 編程語言

在C++中,可以通過重載運算符來實現(xiàn)自定義操作。以下是一些常見的方法來重載運算符:

  1. 在類定義內(nèi)部重載運算符:
class MyClass {
public:
    int x, y;

    MyClass(int a, int b) : x(a), y(b) {}

    // 重載加法運算符
    MyClass operator+(const MyClass& other) const {
        return MyClass(x + other.x, y + other.y);
    }
};

int main() {
    MyClass a(3, 4);
    MyClass b(1, 2);
    MyClass c = a + b; // 使用自定義的加法運算符
    return 0;
}
  1. 在類定義外部重載運算符:
class MyClass {
public:
    int x, y;
};

// 重載加法運算符
MyClass operator+(const MyClass& lhs, const MyClass& rhs) {
    return MyClass(lhs.x + rhs.x, lhs.y + rhs.y);
}

int main() {
    MyClass a(3, 4);
    MyClass b(1, 2);
    MyClass c = a + b; // 使用自定義的加法運算符
    return 0;
}

注意:在類定義外部重載運算符時,需要確保運算符重載函數(shù)的返回類型、參數(shù)類型和順序與原始運算符相匹配。

除了加法運算符外,還可以重載其他運算符,例如減法、乘法、除法等。只需遵循相同的規(guī)則,并根據(jù)需要調(diào)整運算符重載函數(shù)的實現(xiàn)即可。

0