在C++中,operator(運算符)可以用于定義類的成員函數,重載運算符的操作。
要使用operator,需要在類中定義一個成員函數,函數名以"operator"開頭,后接要重載的運算符。例如,重載"+“運算符的函數名為"operator+”。
下面是一個示例,展示如何在C++中使用operator重載"+"運算符:
#include <iostream>
class Complex {
private:
double real;
double imaginary;
public:
Complex(double r = 0.0, double i = 0.0) : real(r), imaginary(i) {}
// 重載"+"運算符
Complex operator+(const Complex& other) {
double sum_real = this->real + other.real;
double sum_imaginary = this->imaginary + other.imaginary;
return Complex(sum_real, sum_imaginary);
}
void print() {
std::cout << real << " + " << imaginary << "i" << std::endl;
}
};
int main() {
Complex c1(1.0, 2.0);
Complex c2(3.0, 4.0);
Complex c3 = c1 + c2; // 使用重載的"+"運算符
c3.print(); // 輸出:4 + 6i
return 0;
}
在上述示例中,我們定義了一個Complex類,其中包含了一個重載的"+“運算符。在主函數中,我們創建了兩個Complex對象c1和c2,并使用重載的”+"運算符將它們相加賦值給c3。最后,我們調用c3的print函數輸出結果。
需要注意的是,C++中有一些運算符無法重載,如".“、”::“、”?"等運算符。此外,還需要注意運算符重載的規則和限制,比如重載運算符的參數和返回值類型等。