C 7 類與物件 友元函式2

2021-10-23 22:16:26 字數 1011 閱讀 2885

程式設計序,求空間中(不是平面中)二點間距離,通過友元函式訪問私有成員

程式:

#include

#include

using

namespace std;

class

point

~point()

friend

double

d(point &p1, point &p2);}

;double

d(point &p1, point &p2)

void

main()

執行結果

1)程式:

2)解釋截圖中的每一行

定義變數c1,呼叫建構函式

定義變數c2,呼叫建構函式

定義變數c3的值等於c2,呼叫拷貝建構函式

輸出c1的值

輸出c2的值

輸出c3的值

撤銷c3儲存空間

撤銷c2儲存空間

撤銷c1儲存空間

C 7 類與物件(下)

友元函式 友元類 內部類 小練習 小練習 宣告為static的類成員稱為類的靜態成員,用static修飾的成員變數,稱之為靜態成員變數 用static修飾的成員函式,稱之為靜態成員函式 classa a a const a a static intgetcount private int a sta...

c 友元函式與友元類

友元函式和友元類的需要 類具有封裝和資訊隱藏的特性。只有類的成員函式才能訪問類的私有成員,程式中的其他函式是無法訪問私有成員的。非成員函式可以訪問類中的公有成員,但是如果將資料成員都定義為公有的,這又破壞了隱藏的特性。另外,應該看到在某些情況下,特別是在對某些成員函式多次呼叫時,由於引數傳遞,型別檢...

c 友元函式與友元類

友元函式和友元類的需要 類具有封裝和資訊隱藏的特性。只有類的成員函式才能訪問類的私有成員,程式中的其他函式是無法訪問私有成員的。非成員函式可以訪問類中的公有成員,但是如果將資料成員都定義為公有的,這又破壞了隱藏的特性。另外,應該看到在某些情況下,特別是在對某些成員函式多次呼叫時,由於引數傳遞,型別檢...