如何在C++中实现运算符重载

   2024-10-01 3290
核心提示:在C++中,可以通过定义成员函数或非成员函数来实现运算符重载。以下是一些示例代码:重载加法运算符:class Complex {private:do

在C++中,可以通过定义成员函数或非成员函数来实现运算符重载。以下是一些示例代码:

重载加法运算符:
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;}
重载自增运算符:
class Number {private:    int value;public:    Number(int v) : value(v) {}    Number& operator++() {        value++;        return *this;    }};int main() {    Number num(5);    ++num;    return 0;}
重载流插入运算符:
#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;}

需要注意的是,运算符重载一般应该符合运算符的原有语义,遵循常规的运算符规则,并不应该引入令人困惑的行为。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号