一、問題及**
/*
* 檔名稱:友元函式
* 作 者:潘雨佳
* 完成日期:2023年4月8日
* 版 本 號:vc6.0
* 對任務及求解方法的描述部分:實現求距離函式的三種版本,分別利用成員函式、友元函式和一般函式求兩點間距離的函式,並設計main()函式完成測試
* 輸入描述:輸入兩點的座標
* 問題描述:求兩點的距離
* 程式輸出:輸出兩點的距離
* 問題分析:區分成員函式、友元函式和一般函式的實現和呼叫
* 演算法設計:略
*/
#include #include using namespace std;
class cpoint
void distance1(cpoint p1,cpoint p2);
friend void distance2(cpoint &p1, cpoint &p2);
double getx()
double gety()
};
void cpoint::distance1(cpoint p1,cpoint p2)
{ double d=sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y));
cout<
二、執行結果
三、心得體會
剛開始看到題目不知道成員函式裡的變數是x、y還是點,也不知道應該怎麼呼叫x、y的值,參考了書本以後才知道,以為很簡單的題目也花了很長的時間。
四、知識點總結
友元函式可以直接呼叫類中的資料成員,一般函式不可以,需要通過成員函式才能使用;點的座標可以通過p1.x來進行運算。
C 友元函式 友元類 友元成員函式
眾所周知,c 控制對類物件私有部分的訪問。通常,公有類方法提供唯一的訪問途徑,但是有時候這種限制太嚴格,以至於不適合特定的程式設計問題。在這種情況下,c 提供了另外一種形式的訪問許可權 友元,友元有3種 友元函式 友元類 友元成員函式。通過讓函式成為類的友元 即 友元函式 可以賦予該函式與類的成員函...
友元 友元函式 友元類和友元成員函式 C
有些情況下,允許特定的非成員函式訪問乙個類的私有成員,同時仍阻止一般的訪問,這是很方便做到的。例如被過載的操作符,如輸入或輸出操作符,經常需要訪問類的私有資料成員。友元 frend 機制允許乙個類將對其非公有成員的訪問權授予指定的函式或者類,友元的宣告以friend開始,它只能出現在類定義的內部,友...
友元 友元函式 友元類和友元成員函式 C
有些情況下,允許特定的非成員函式訪問乙個類的私有成員,同時仍阻止一般的訪問,這是很方便做到的。例如被過載的操作符,如輸入或輸出操作符,經常需要訪問類的私有資料成員。友元 frend 機制允許乙個類將對其非公有成員的訪問權授予指定的函式或者類,友元的宣告以friend開始,它只能出現在類定義的內部,友...