It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center
                            
                        
                    
                
                                7年前关闭。
            
                    
我有一个设计问题。

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

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

我该怎么做?

这是一些代码:

文件classA.h:

#pragma once
#include <classB.h>

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


文件classB.h:

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


文件classC.h:

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


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

非常感谢。

金坛

最佳答案

正如@jogojapan所说,这更多是一个circular dependency问题。

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

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


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

09-10 01:34
查看更多