| 
 | 
 
 
发表于 2023-2-14 19:20:25
|
显示全部楼层
   本楼为最佳答案    
 
 
 本帖最后由 jhq999 于 2023-2-14 19:25 编辑  
- #include <iostream>
 
 - #include <string>
 
 - using namespace std;
 
 - class Building;
 
 - class SB2{//////////////
 
 - public:
 
 -     Building *sb;
 
 -     SB2();
 
 -     void visit();
 
 - };
 
 - class Building
 
 - {
 
 -         //告诉编译器  goodGay类中的visit成员函数 是Building好朋友,可以访问私有内容
 
 - public:
 
 -         Building();
 
  
- public:
 
 -         string m_SittingRoom; //客厅
 
 - private:
 
 -         string m_BedRoom;//卧室
 
 -     friend void a(Building& b);
 
 -     friend class SB1;
 
 -     friend void SB2::visit();
 
 - };
 
  
- Building::Building()
 
 - {
 
 -         this->m_SittingRoom = "客厅";
 
 -         this->m_BedRoom = "卧室";
 
 - }
 
  
- void a(Building& b){
 
 -     cout << b.m_SittingRoom << endl;
 
 -     cout << b.m_BedRoom << endl;
 
 - }
 
 - SB2::SB2(){
 
 -         sb = new Building();
 
 -     }
 
 - void SB2::visit(){
 
 -         cout << sb->m_SittingRoom << endl;
 
 -         cout << sb->m_BedRoom << endl;
 
 -     }
 
 - class SB1{
 
 - public:
 
 -     SB1(){
 
 -         sb = new Building();
 
 -     }
 
  
-     void visit(){
 
 -         cout << sb->m_SittingRoom << endl;
 
 -         cout << sb->m_BedRoom << endl;
 
 -     }
 
  
-     Building* sb;
 
 - };
 
  
 
 
 
 
 
- int main(){
 
 -     SB2 s2;
 
 -     s2.visit();
 
 - }
 
  复制代码 |   
 
 
 
 |