【问题标题】:How to access data from other classes private inner class?如何从其他类私有内部类访问数据?
【发布时间】:2013-11-17 16:12:35
【问题描述】:

当我们谈论同一个类时,我知道如何从内部类访问数据。但是假设我们有一个名为“ben”的类,另一个是“bob”。现在“bob”有一个名为“john”的内部私有类,在 john 中有他的电话号码变量。我想从班班访问约翰的电话号码。

我希望我至少“可以”解释它。那么,是否可以这样做,或者我应该为 bob 类创建一个 getter 方法?

【问题讨论】:

    标签: c++ private inner-classes


    【解决方案1】:

    如果你想从 ben 访问 john,这意味着 john 不应该是 bob 私有的。让 john 对 ben 保密的全部意义在于向其他人隐藏它。

    因此,为了解决您的问题,请将 john 设为普通班级,因为不止一个班级需要它。

    【讨论】:

      【解决方案2】:

      john 必须声明 ben 是他的朋友,否则 ben 不能知道他的电话号码

      class ben {
         string john() { return bob::john::phone; }
      };
      
      class bob {
        class john
        {
           friend class ben;
           static string phone;
        };
      };
      

      【讨论】:

      • 太棒了。当我们这样做时,如何正确地从他那里得到那个数字。 Bob::John::number 或类似的东西?
      • @Fractal 看看 ben::john() 函数体
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-06
      • 2011-02-17
      • 2014-08-10
      • 1970-01-01
      • 2016-08-04
      • 2014-12-02
      • 1970-01-01
      相关资源
      最近更新 更多