溫馨提示×

c++中的operator怎么使用

c++
小億
166
2023-12-16 23:38:09
欄目: 編程語言

在C++中,operator(運算符)可以用于定義類的成員函數(shù),重載運算符的操作。

要使用operator,需要在類中定義一個成員函數(shù),函數(shù)名以"operator"開頭,后接要重載的運算符。例如,重載"+“運算符的函數(shù)名為"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類,其中包含了一個重載的"+“運算符。在主函數(shù)中,我們創(chuàng)建了兩個Complex對象c1和c2,并使用重載的”+"運算符將它們相加賦值給c3。最后,我們調(diào)用c3的print函數(shù)輸出結(jié)果。

需要注意的是,C++中有一些運算符無法重載,如".“、”::“、”?"等運算符。此外,還需要注意運算符重載的規(guī)則和限制,比如重載運算符的參數(shù)和返回值類型等。

0