【发布时间】:2011-04-23 14:57:06
【问题描述】:
可能重复:
Is this key-oriented access-protection pattern a known idiom?
我有class A 和class B。我希望class A 访问class B 的私有功能之一;但仅此而已,而不是其他一切。这可能吗?
某种例子:
class A {
//stuff
};
class B {
int r; // A cant use this
MagicFriendKeyword A void func(); // A can use this
public:
...
};
【问题讨论】:
-
Is this key-oriented access-protection pattern a known idiom? 的副本。该问题提供了一个示例,说明如何实现您的要求;实际上this question 可能是一个更好的副本。
-
另见this question,它试图概括它。我想我们最终得到了“密码朋友成语”这个名字。这个想法是只有某些类可以创建“密码”类型,并且该函数只接受某些密码,授予访问权限或“友谊”。
-
除了参考讨论的内容之外,还有更多的解决方案——并且取决于上下文更好——解决方案。特别是,将
func分解为接口。请不要关闭开放式问题,除非类似的旧讨论同样开放且完整。
标签: c++