【发布时间】:2023-09-21 18:59:01
【问题描述】:
可能重复:
clean C++ granular friend equivalent? (Answer: Attorney-Client Idiom)
我已经想了好几次了,但一直没能想出一个体面的方法来做到这一点。
假设我在 A 类中有一个成员函数。我希望能够从不相关的 B 类调用该函数,但通常不能调用。您可能会说,“当然,将函数设为私有并声明 B 为 A 的朋友。”这就是我一直在做的,但它似乎有点矫枉过正。我真的不想让 B 访问 A 中的所有内容,只是一个函数。
简而言之:A::func() 只能由 B 类调用,但 B 没有声明为 A 的朋友。可能吗?
【问题讨论】:
-
我的问题确实与那个问题重复。显然我的 search-foo 很弱。
标签: c++ encapsulation