【发布时间】:2013-05-10 12:45:16
【问题描述】:
我有两个类,假设 A 类和 B 类。我的目标是让两个类都使用彼此的功能。问题是,多文件包含结构似乎不允许我这样做。这是我正在尝试做的事情:
#file A.h
Class A{
public:
int GetInfo();
private:
B * ptrToB;
};
#file B.h
Class B{
public:
int getStuff();
private:
A * ptrToA;
};
我的目标是让 A 类方法能够调用 ptrToB->getStuff(),让 B 类方法能够调用 ptrToA->getInfo()
这可能吗?为何如此?如果没有,为什么不呢?
【问题讨论】:
-
其他人已经指出了让它编译的方法,但问问自己为什么你的类需要如此耦合。要么让它成为一类,要么把正确的数据放在正确的类上。不要使用吸气剂。告诉有数据的班级用这些数据做正确的事。查找 Data Envy 和其他人。
标签: c++ object circular-dependency