1. 程式人生 > >C++ 友元函式

C++ 友元函式

#include <iostream> using namespace std; class girl { private: char *name; int age; friend class boy; //宣告類boy是類girl的友元 public: girl(char *n,int age):name(n),age(age){}; }; class boy { private: char *name; int age; public: boy(char *n,int age):name(n),age(age){};
void disp(girl &); }; void boy::disp(girl &x) // 該函式必須在girl類定義的後面定義,否則girl類中的私有變數還是未知的 { cout<<"boy's name is:"<<name<<",age:"<<age<<endl; cout<<"girl's name is:"<<x.name<<",age:"<<x.age<<endl; //藉助友元,在boy的成員函式disp中,藉助girl的物件,直接訪問girl的私有變數
//正常情況下,只允許在girl的成員函式中訪問girl的私有變數 } void main() { boy b("aaa",8); girl g("bbb",99); b.disp(g); }