prefix, surfix操作符重载

本文介绍C++标准对于前置和后置++/--运算符重载的规定:前置版本不带参数,而后置版本需要一个int类型的参数。通过Integer类示例展示了如何实现这两种重载方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C++标准规定:当为一个类型重载++, --的前置版本时,不需要参数;当为一个类型重载++, --的后置版本时,需要一个int类型的参数作为标志。
可参考<The design and Evolution of C++>
  1. class Integer{
  2.   long m_data;
  3. public:
  4.   Integer(long data): m_data(data){}
  5.   Integer& operator++(){
  6.     cout << "Integer::operator++() called" << endl;
  7.     m_data++;
  8.     return *this;
  9.   }
  10.   Interger operator++(int){
  11.     cout << "Integer::operator++(int) called" << endl;
  12.     Integer tmp = *this;
  13.     m_data++;
  14.     return tmp;
  15.   }
  16. };

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值