将数组的重载运算符[]改为()的方法是通过重载函数调用运算符()来实现。具体步骤如下:
下面是一个示例代码:
#include <iostream>
class Array {
private:
int* data;
int size;
public:
Array(int size) {
this->size = size;
data = new int[size];
}
~Array() {
delete[] data;
}
int& operator()(int index) {
return data[index];
}
};
int main() {
Array arr(5);
arr(0) = 1;
arr(1) = 2;
arr(2) = 3;
arr(3) = 4;
arr(4) = 5;
std::cout << arr(0) << std::endl; // 输出:1
std::cout << arr(3) << std::endl; // 输出:4
return 0;
}
在上述示例中,我们定义了一个名为Array的类,它具有一个重载的函数调用运算符operator()。通过使用圆括号()来访问数组元素,我们可以像访问普通函数一样使用数组对象。在main函数中,我们创建了一个大小为5的Array对象arr,并通过arr(0) = 1;的方式给数组元素赋值。然后,我们使用arr(0)和arr(3)来访问数组元素并输出结果。
腾讯云相关产品和产品介绍链接地址:
请注意,以上产品和链接仅作为示例,实际选择和推荐的产品应根据具体需求和情况进行评估和决策。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云