-
友元全局函數。
友元成員函數。
查看全部 -
friend void的void關鍵字我們用上
函數開頭寫返回值void我也沒用。
每行寫分號
查看全部 -
運算符重載可以使運算符具有新的功能。
?運算符重載使用關鍵字operator。?
++運算符重載需要區分前置++重載和后置++重載。
?有些運算符必須使用成員函數重載,有些則必須使用友元函數重載。(輸出運算符<< 只能用友元函數重載,索引運算符[] 只能用成員函數重載)
查看全部 -
友元函數不是類的成員函數,所以不能通過類或者對象來訪問友元函數
查看全部 -
template?<typename?T> void?swapNum(T?&a,?T?&b)//這地方不加引用交換不了數據 {T?temp?=?a;?a?=?b;?b?=?temp;}
查看全部 -
1、函數模板關鍵字:template class typename;
2、一般使用方法:template <typename T>
調用方法:函數<數據類型>(實參)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?T 函數(T a,Tb)
查看全部 -
1、“<<”">>"運算符重載只能用友元函數重載,不能用成員函數重載,因為第一個參數必須為ostream數據類型,相關格式為:friend ostream& operator>>(ostream &out,const &類對象);
2、索引運算符[]:只能用成員函數重載,不能用友元函數重載,因為它傳入參數必須是當前對象,即this指針,相關格式 數據類型 operator[](int index);
3、“+”運算符重載成員函數和友元函數都可以重載,相關格式 對象 operator+(&對象)或friend 對象 operator +(&對象,&對象);
查看全部 -
1、后置++運算符重載寫法格式:對象 operator++(int),返回的是一個對象而不是引用,形參int只是一個標志不具備實際意義;
2、定義實現方法,需先實例化一個臨時對象,這個臨時對象拷貝當前對象的值,然后修改當前對象的值,最后返回值臨時對象
查看全部 -
1、靜態數據成員不跟隨類實例化,單獨實例化,也就是無論類是否實例化一個對象,靜態數據成員都存儲在內存中;
2、靜態成員函數不能調用非靜態成員函數和非靜態數據成員;
3、靜態數據成員只有一份,不依賴于對象而存在,若用sizeof()求對象的大小不包括靜態數據成員的大小;
查看全部 -
友元的注意事項
查看全部 -
1、友元函數形參必須是對象、對象的引用或指針(引用和指針效率高)
2、友元函數會破壞類的封裝性,即外部函數可以訪問類的私有成員
3、友元成員函數不限定于pubilc、pravite、protected,可在類中任意位置,一般置于最前面用于提示此函數會破壞封裝性
查看全部 -
輸出運算符必須寫成友元函數的形式
查看全部 -
使用直接訪問的方式更快??
參數是一個引用,所以printXY()中寫對象名就可以了
查看全部 -
靜態成員函數不可以調用非靜態成員函數,反之成立查看全部
-
靜態數據成員不依賴于對象,而依賴于類查看全部
舉報