我有以下课程:-
class A {
public:
// some stuff that everyone should see
protected:
// some stuff that derived classes should see
private:
// some stuff that only I can see
void f();
void g();
};
现在,我希望 f() 只能从特定的类集(比如 B、C、D 类)访问,而 g() 可以从特定的其他类集(比如 D、E、F 类)访问。有没有办法在 C++ 中指定这个?如果我让所有班级成为 A 的朋友,那么 f 和 g 都可以从 B、C、D、E、F(以及 A 的其他私有成员)访问,这不是我想要的。
这是可能的还是我应该改变我的对象模型?