1. 程式人生 > >【C++】inline float& operator[](unsigned int i); 中float& operator[]的意思

【C++】inline float& operator[](unsigned int i); 中float& operator[]的意思

operator[]這是個[]運算子函式,有這個函式的類的物件可以像陣列那樣使用方括號運算子,前面的float&表示這個運算的結果返回的是一個float型別的變數的引用。 一般在把陣列封裝成一個類的時候才使用這個。 class A{ float arr[10]; public: inline float& operator[](unsigned int i){return arr[i];} void show(){for(int i=0;i<10;i++)cout<<arr[i]<<' ';cout<<endl;} }; class B{ float x; float y; public: inline float& operator[](unsigned int i){return i==0?x:y;} void show(){cout<<"x="<<x<<",y="<<y<<endl;} }; 如果你在main函式中使用 A s; B t; s[3]=111; s.show();//你會看到第4個數變成了111 t[1]=666; t.show();//你會看到y變成了666