通常,您应该在 2 个类之间定义一个 API。在这种情况下,您的 API 可以是 B 类中的一个方法,该方法期望从 A 类中调用您需要传输的数据。像这样的东西:
//B header file
struct dataType;
class B
{
//...
public:
statusType passData(dataType &x);
};
//A header file
struct dataType //shared data type between the 2 classes
{
//internal structure of your data
};
class A
{
B *objB; //link to B instance (the receiver)
statusType acquireData();
};
//cpp file
#include "A.h"
#include "B.h"
statusType B::passData(dataType &x)
{
//do whatever you need with the data
}
statusType A::acquireData()
{
//do your reading from file here into x
objB.passData(x);
}
这个例子演示了在 A 类和 B 类之间创建简单的接口。任何其他更紧密的关系,例如继承或组合,也是可能的,但这实际上取决于您的要求,并且意味着比您所说的更强的关系。否则它将是(即使有效)设计缺陷。