友元類:打破了類的封裝。 a普通類宣告為友元函式. 友元函式可以訪問類中的私有成員,打破了類的封裝。 b友元成員函式。乙個類的成員函式是另乙個類的友元函式。 c友元類。 將乙個類宣告為另一類的友元類。
****如下** ``` #include #include #include using namespace std; class ********; class point ;
point::point(int x=0, int y=0) //建構函式
void point::prit(point &p1, point &p2) double getlong(point &p1, point &p2)
class ********
複製**private: point a, b, c; //point類作為資料成員
********::********(point &a, point &b, point &c)
int main()
不能過載的有5個 .(成員訪問運算子), *(成員指標訪問運算子), ::(域運算子),
sizeof(長度運算子), ?:(條件運算子)
注意:過載不能改變運算子的運算物件
過載不能改變運算子的優先順序
過載不能改變運算子的結合性
過載不能有預設的引數
******
複製**#include #include using namespace std; class fraction ;
// 建構函式 fraction::fraction(int m=0,int n=1)
// 輾轉相除法,求最大公約數。 int maxyueshu(int m, int n) int r; while (true)
return n;
複製**
//變成最簡分數 void fraction::print() //友元函式過載。 fraction operator + (fraction &f1, fraction &f2) //成員函式過載 fraction fraction::operator / (fraction &f1)
int main()
*結果如圖*
![002.png](
東風啊,東風。
複製**
C 友元運算子過載函式
運算子過載函式 實現物件之間進行算數運算,實際上是物件的屬性之間做運算 包括 加號 減號 負號 正號 運算子過載函式分為 普通友元運算子過載函式 成員友元運算子過載函式 成員運算子過載函式 運算子運算子過載函式按運算型別為 雙目運算子過載函式,如加 減 乘 除 賦值 單目運算子過載函式 自加 自減 ...
LinuxC關於運算子的一些問題
1.c語言運算子的分類?1 算術運算子 用於各類數值運算,包括加 減 乘 除 求餘 或稱模運算,自增 自減 2 關係運算子 用於比較運算,包括大於 小於 等於 大於等於 小於等於 和不等於 3 邏輯運算子 用於邏輯運算,包括與 或 非 4 位操作運算子 參與運算的量,按二進位制位進行運算,包括位與 ...
c 內聯函式 友元函式 友元類 運算子過載
短小 頻繁,且沒有迴圈體 的功能 1.內聯函式 特點 1.在函式名前加inline關鍵字 2.以空間換取時間,編譯階段整個函式體替換呼叫部分 2.巨集定義 1.對變數巨集定義 define 巨集名 值 2.帶參函式的巨集定義 define 函式名 形參表 不需要型別 函式體 1.整體思維 2.不進行...