10、深入理解C++运算符重载

深入理解C++运算符重载

1. 引言

每个技术领域都发展出了约定俗成的简写符号,以便于频繁使用的概念的呈现和讨论变得方便。例如,由于长期的熟悉, x + y * z 对我们来说比 multiply y by z and add the result to x 更清晰。简洁的符号对于常见操作的重要性是难以被高估的。像大多数语言一样,C++ 支持一组用于其内置类型的运算符。然而,在 C++ 中,大多数通常使用运算符表示的概念并不是内置类型,因此它们必须以用户定义的类型来表示。例如,如果你需要复数算术、矩阵代数、逻辑信号或字符字符串在 C++ 中,你使用类来表示这些概念。定义运算符可以让程序员提供一种更为传统和方便的符号,以操纵对象。

2. 操作符函数的定义方式

操作符函数可以通过以下两种方式定义:

  • 成员函数 :接受一个参数,通常用于二元运算符。
  • 非成员函数 :接受两个参数,通常用于二元运算符。

例如,为复数类定义加法运算符:

class complex {
    double re, im;
public:
    complex(double r, double i) : re(r), im(i) {}
    complex operator+(complex);
};

complex complex::operator+(complex a) {
    return c
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值