【发布时间】:2013-11-17 16:12:35
【问题描述】:
当我们谈论同一个类时,我知道如何从内部类访问数据。但是假设我们有一个名为“ben”的类,另一个是“bob”。现在“bob”有一个名为“john”的内部私有类,在 john 中有他的电话号码变量。我想从班班访问约翰的电话号码。
我希望我至少“可以”解释它。那么,是否可以这样做,或者我应该为 bob 类创建一个 getter 方法?
【问题讨论】:
标签: c++ private inner-classes
当我们谈论同一个类时,我知道如何从内部类访问数据。但是假设我们有一个名为“ben”的类,另一个是“bob”。现在“bob”有一个名为“john”的内部私有类,在 john 中有他的电话号码变量。我想从班班访问约翰的电话号码。
我希望我至少“可以”解释它。那么,是否可以这样做,或者我应该为 bob 类创建一个 getter 方法?
【问题讨论】:
标签: c++ private inner-classes
如果你想从 ben 访问 john,这意味着 john 不应该是 bob 私有的。让 john 对 ben 保密的全部意义在于向其他人隐藏它。
因此,为了解决您的问题,请将 john 设为普通班级,因为不止一个班级需要它。
【讨论】:
john 必须声明 ben 是他的朋友,否则 ben 不能知道他的电话号码
class ben {
string john() { return bob::john::phone; }
};
class bob {
class john
{
friend class ben;
static string phone;
};
};
【讨论】: