我可以帮助您翻译,以下是需要翻译的内容:
我希望
重新表述一下,我有一个完全创建于一个命名空间内的框架,每个类都有对使用该框架的公众有用的方法。然而,每个类也有一些复杂化公共 API 但对框架正常运行是必需的方法。
我有以下情况:
namespace MyFramework {
class A {
void some_function_I_want_B_to_use() {}
};
class B {
B() {
some_function_I_want_B_to_use() {}
}
};
}
我希望
some_function_I_want_B_to_use
不在 MyFramework
命名空间外可见,但我希望任何在 MyFramework 内部的人都能看到它(或者仅对类 B 可见也可以)。我有很多这样的方法,隐藏它们不让它们成为 MyFramework 的公共 API 的唯一方法是使 MyFramework 中的所有类都成为友元吗?我还考虑将所有“低级”类放在 B 中,但在确定它可以从 B 内部访问 A 的所有方法但不能从 MyFramework 外部访问之前,我不想走这条路。重新表述一下,我有一个完全创建于一个命名空间内的框架,每个类都有对使用该框架的公众有用的方法。然而,每个类也有一些复杂化公共 API 但对框架正常运行是必需的方法。