C++运算符重载

  • 对于C++而言,运算符重载一般是作为类的成员函数出现。

  • 运算符重载形式

        [返回值] operator[运算符] (参数...) { ... };

  1. 数量一致:重载的参数个数必须与运算符原意的个数一致。比如+号的参数就是左加数和右加数两个。
  2. 默认传入对象的this指针作为函数的第一个形参:所以,如果运算符参数只有一个,那么不需要写参数;如果运算符参数有两个,那么只需要写一个参数。(仅考虑类的成员函数)
  3. 单目运算符,this所指向运算符右参数,因为单目运算符的参数一般都在右边。
  4. 双目运算符,this指向运算符左参数。
  • 特殊点

  1. 自增运算符++A与A++。因为单目运算符重载的this指针指向右边,所以按正常写法我们写出来的是++A。C++规定,A++的写法是在正常++运算重载基础上,在参数上写一个int类型的参数。
  2. 流提取<<与流插入>>。重载就不能作为类的成员函数出现,得添加fiend关键字将函数声明为友元函数。
  3. 不能进行重载的运算符。
    .*任意字符出现零次或多次
    ::域作用符
    sizeof大小
    ? :三目运算符
    .点运算符
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值