C++ 运算符重载例子

下面是一个示例,演示了如何在C++中重载运算符:

#include <iostream>

class Complex {
private:
    double real;
    double imag;

public:
    Complex(double r = 0.0, double i = 0.0) : real(r), imag(i) {}

    // 重载加法运算符
    Complex operator+(const Complex& other) {
        Complex result;
        result.real = this->real + other.real;
        result.imag = this->imag + other.imag;
        return result;
    }

    // 重载输出运算符
    friend std::ostream& operator<<(std::ostream& os, const Complex& c) {
        os << c.real << " + " << c.imag << "i";
        return os;
    }
};

int main() {
    Complex c1(2.5, 3.7);
    Complex c2(1.8, 2.4);

    Complex sum = c1 + c2;
    std::cout << "Sum: " << sum << std::endl;

    return 0;
}

在上面的示例中,我们定义了一个名为Complex的类,表示复数。我们重载了加法运算符+,使得两个Complex对象可以相加。我们还重载了输出运算符<<,以便能够直接输出Complex对象。

main函数中,我们创建了两个Complex对象c1c2,然后使用重载的加法运算符将它们相加,并将结果赋给sum。最后,我们使用重载的输出运算符将sum输出到标准输出流。

输出结果为:

Sum: 4.3 + 6.1i

通过运算符重载,我们可以为自定义类型定义特定的运算行为,使其更符合我们的需求。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值