重载 [] 运算符

本文介绍了如何在C++中通过重载[]运算符来使得自定义的数组类具备类似内置数组的操作体验。详细阐述了重载过程,特别是函数定义的步骤,包括返回值类型的重要性。通过示例解释了返回void、int和int引用三种不同返回类型在赋值操作中的效果,强调了返回引用以允许赋值操作的必要性。

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

1. 下面的例子中,实现了在数组类中,如何重载 [] 运算符,使这个数组类看起来“更像一个数组”。

2.函数定义写法步骤:

  (1)首先要承认运算符重载实质就是函数调用。

  (2)承认operator[] 就是函数名。

  (3)将参数列表补齐,比如a[ i ], 那么i 就是参数;==> operator(int i);

    (4)  根据情况填写返回值。这一点需要强调(在下面的例子中注释部分也有体现)。需要强调的是:

           运算符重载函数体其实可以有 三种返回值的 写法,分别为:

           1.   void Array :: operator[](int i) 

                 返回void, 那么cout << a1[i] <<" ";  这句代码将无法实现,所以这种写法pass。

           2.   int Array :: operator[](int i) 

                 返回整形的一个数值,那么cout << a1[i] <<" ";这句话就可以正常实现了,但是例子中还有这样一句代码,

                 a1[i] = i; 也就是说在给数组元素赋值时,[ ] 重载函数的返回值作为左值被赋值为 i。那么 int Array :: operator[](int i

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值