我重载了下标运算符和赋值运算符,我试图Array x;
x[0]=5;
通过重载下标运算符来获得赋值运算符示例的正确值,
我可以获得值 0,但是当我重载赋值运算符时,它会进行赋值,但它不使用我的重载函数,因为可用2 的值应该是 5。
class Array
{
public:
int *ptr;
int one,two;
Array(int arr[])
{
ptr=arr;
}
int &operator[](int index)
{
one=index;
return ptr[index];
}
int & operator=(int x){
two=x;
return x;
}
};
int main(void)
{
int y[]={1,2,3,4};
Array x(y);
x[1]=5;
cout<<x[0]<<endl;
}
Run Code Online (Sandbox Code Playgroud) c++ overloading operator-overloading subscript assignment-operator