0

我有一个设计问题。

我有三个单独的类,即 A、B 和 C。A 类有一个 B 类的数组对象。B 类有一个 C 类的对象。

现在,我想从 C 类中的 A 类访问一个函数。

我怎样才能实现它?

这是一些代码:

文件类A.h:

#pragma once
#include <classB.h>

class classA
{
    classB objB[10];
    void GetData();
};

文件类B.h:

#pragma once
#include <classC.h>
class classB
{
    classC objC;
}

文件类C.h:

#pragma once
#include <classA.h>
class classC
{
    classA objA;
}

上面的代码创建了一个循环,即使我添加了#pragma once. 我也尝试在 classC.cpp 中包含 classA.h,但我仍然无法访问 ClassA 中的函数。

非常感谢。

钦坦

4

3 回答 3

3

正如@jogojapan 所说,这更像是一个循环依赖问题。

您可以在类 C 中使用指向类 A 的指针成员并使用前向声明。

class classA;
class C{
    classA* objAPtr;
};

然后在 c.cpp 你可以添加#include <classA.h>

于 2012-10-29T09:31:16.343 回答
0

不确定你基本上想要什么我可以想到这个:

在类 C 中创建类 A 的对象,并使用类 C 中存在的对象访问类 A 的函数

于 2012-10-29T09:15:26.070 回答
0

如果你想调用Class Awith对象的方法,Class C那么你不需要实现继承,如果你想调用Class AwithClass C's对象的方法,那么你需要实现继承。

于 2012-10-29T09:22:49.793 回答