星期五 ? 陣雨
今天學習了運算符重載
筆記內容:
一般格式是:
類型名 operator? 運算符(形參表){函數體}
(operator是關鍵字,類型名為返回類型,也是運算結果的類型)
本質就是先把原來的表達式運算轉化為對運算符函數的調用。
其中運算符重載時參數個數不可以超過原來個數!
運算符重載時參數類型也不能全為基本類型(int型啥的),至少有一個對象是自定義的類型。
需要注意的地方:
1)在C++里邊,除了成員選擇符,成員對象選擇符,成員指針選擇符,"::","?:","sizeof"外都能被重載。不能創建新的。
2)重載不會改變原來運算符的 優先級
3)至少有一個對象是自定義,都是基本類型參數不可重載
4)不提倡改變參數個數,運算符的含義。
5)重載運算符的函數不能有默認的參數。
賦值運算符的重載
跟前面的差不多
需要拷貝構造函數和賦值操作符都是用來拷貝一個類的對象給另一個同類型的對象。
就是把對象中的每個數據成員拷貝到目標對象相應的數據成員里邊。
前自增量運算符應該返回引用
后自增量必須返回值
只能是成員的運算符:(系統為類提供的)=、()、[ ]、-〉
只能是友元的運算符:(cout是其它類的對象)cout<<、cin>>
既可以友元也可以成員的:(定義者提供)+、-等
下午看了一小時的ppt,把上午學的知識消化消化。
還是聽的時候只能明白點,自己說不太明白,借鑒了點ppt上的內容加上自己的理解,
自己覺得需要多練習,少偷點懶。
然后和同學一起做游戲,很開心。
今天的總結都是手打的。
又是充實的一天。