#include<bits/stdc++.h> using namespace std; class Building; class GoodGay{ public: GoodGay();//初始化构造函数 void visit();//让visit函数可以访问Building中的私有成员 void visit2();//让visit2函数不能访问Building中的私有成员 Building *building ; }; class Building{ friend void GoodGay::visit();//告诉编译器 GoodGay类下的visit函数作为本类的好朋友 public: Building();//初始化构造函数 public: string m_SittingRoom; private: string m_BedRoom; }; //类外实现成员函数 Building::Building(){ m_SittingRoom="客厅"; m_BedRoom="卧室"; } GoodGay::GoodGay(){ building =new Building; } void GoodGay::visit(){ cout<<"visit函数正在访问: "<<building->m_SittingRoom<<endl; cout<<"visit函数正在访问: "<<building->m_BedRoom<<endl; } void GoodGay::visit2(){ cout<<"visit2函数正在访问: "<<building->m_SittingRoom<<endl; //cout<<"visit2函数正在访问: "<<building->m_BedRoom<<endl; } void test01(){ GoodGay gg; gg.visit(); gg.visit2(); } int main() { //成员函数做友元 test01(); return 0; }