我重載兩個標操作和賦值操作符,我試圖通過重載下標操作者,我可以得到0值以獲得正確的值賦值運算符 例如 Array x; x[0]=5;
但是當我重載賦值運算符它分配,但它不使用我的重載函數,因爲vaiable 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;
}
我認爲@DietmarKühl答案是最好的答案。因爲它也顯示了操作符int()的用法,所以'cout << x [0] << endl;'也可以工作。也許它應該是被接受的答案。 – VinGarcia