友元的目的:让一个函数或者类访问另一个类中私有成员
关键字:friend
实现方式:
-
全局函数做友元
class House{ friend void goodGay(House* myhouse);//关键 public: House(){ string sittingRoom="客厅"; string bedroom="卧室"; } string sittingRoom; private: string bedroom; } void goodGay(House* myhouse){ cout<<myhouse.sittingRoom<<endl; cout<<myhouse.bedroom<<endl; } int main(){ House myhouse; goodGay(myhouse); }
-
类做友元
//同理,在classA中加上: friend class classB; //那么在classB中就可以访问classA的私有成员
-
成员函数做友元
//类外定义成员函数: void classB::func(){ cout<<classA->val; } classA{ friend void classB::func();//classB下的func函数为友元函数 private: int val; }