首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >循环依赖问题

循环依赖问题
EN

Stack Overflow用户
提问于 2012-10-29 17:06:30
回答 3查看 90关注 0票数 0

我有一个设计问题。

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

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

我如何才能做到这一点?

下面是一些代码:

文件classA.h:

代码语言:javascript
复制
#pragma once
#include <classB.h>

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

文件classB.h:

代码语言:javascript
复制
#pragma once
#include <classC.h>
class classB
{
    classC objC;
}

文件classC.h:

代码语言:javascript
复制
#pragma once
#include <classA.h>
class classC
{
    classA objA;
}

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

非常感谢。

钦坦

EN

回答 3

Stack Overflow用户

发布于 2012-10-29 17:31:16

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

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

代码语言:javascript
复制
class classA;
class C{
    classA* objAPtr;
};

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

票数 3
EN

Stack Overflow用户

发布于 2012-10-29 17:15:26

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

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

票数 0
EN

Stack Overflow用户

发布于 2012-10-29 17:22:50

如果你想在Class C中调用Class A的方法和它的对象,那么你不需要实现继承,如果你想用Class C's对象调用Class A的方法,你需要实现继承。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13118573

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档