Posted on 2007-08-03 12:55
寶杉 閱讀(1012)
評論(0) 編輯 收藏 引用 所屬分類:
C++
友元函數一般在類中聲明,如果一個友元需要訪問多個類的對象,那么每個類都要聲明一次友元函數。
還要注意:友元函數的入口包括多個類,那這些類都要在友元函數之前聲明。
如例子:Diary files\C++exams\frnd_vst2_func
如果是類person的兩個繼承他的子類boy和girl,那么友元函數如何聲明和定義。
Diary files\C++exams\frnd_member
這需要注意的地方有:
基類的數據成員共有;構造函數;構造函數初始化表;類的聲明先于友元函數,提高了重用性;
基類的數據成員必須共有,因為構造函數會訪問到它們,子類的構造函數也會引用基類的構造函數,如果是私有的會是的子類構造函數不能直接訪問基類的私有成員,要通過基類的成員函數來訪問。
子類:public基類
還有寫細節問題:
頭文件;char *a的聲明和使用;分配char*數據;
例如:
char *name;
name = new char[ strlen( s ) + 1 ];
友元函數的聲明時的入口參數可以只寫類型,不寫參數名。
例如:
class boy
{
……
void disp( gril & );
}
注意聲明時的入口參數可省略,但要寫&。
定義時,寫成
void disp( gril &x ){ …… }