代码之家  ›  专栏  ›  技术社区  ›  thecoshman

C++好友类

  •  3
  • thecoshman  · 技术社区  · 14 年前

    只是想确保我能正确理解和这个朋友的关系

    class A
    {
      friend class B;
      int valueOne;
      int valueTwo;
      public:
      int GetValueOne(){ return valueOne; }
    }
    class B
    {
      public:
      A friendlyData;
      int GetValueTwo(){ return friendlyData.valueTwo; }
    }
    main()
    {
      B myObject;
      myObject.friendlyData.GetValueOne(); // OK?
      myObject.GetValueTwo(); // OK?
    }
    

    关于这段代码,如果我们忽略了初始化的不足,那么主函数中的两个函数就可以了,对吗?除了做一些奇怪的事情,他们不应该是从这些类中获取数据的其他方法…到了教室外面, B.A 没有可访问的数据,只有成员函数。

    2 回复  |  直到 14 年前
        1
  •  2
  •   JaredPar    14 年前

    main B::A B::GetValueTwo A::GetValueOne public

        2
  •  0
  •   Flexo - Save the data dump sunny moon    14 年前

    GetValueX GetValueTwo()