我有这种情况(两个类有两个不同的头文件):
bh
#include "a.h"
class B {
friend void B* A::create(void);
private:
int x;
};
啊
#include "b.h"
class A {
public:
void B* create(void);
...
};
基本上A类创建“B”对象。我想授予创建函数 create() 访问权限以修改 B 类的私有成员“x”。我想模拟 C# 中的“内部”关键字,但在更精细的级别上。
我遇到的问题是我最终得到了一个循环标题引用。bh 想追上 ah,但是 ah 想追上 bh 这样做的正确方法是什么?我需要求助于 void* ptrs 吗?由于我只创建一种类型的对象,我认为我不需要工厂模式。希望我错过了一些简单的东西。