我有一个设计问题。
我有三个独立的类,即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。我也尝试过在classC.cpp中包含classA.h,但仍然无法访问ClassA中的函数。
非常感谢。
钦坦
发布于 2012-10-29 17:31:16
正如@jogojapan所说,这更多的是一个circular dependency问题。
您可以在类C中使用指向类A的指针成员,并使用转发声明。
class classA;
class C{
classA* objAPtr;
};然后您可以在c.cpp中添加#include <classA.h>
发布于 2012-10-29 17:15:26
我不确定你基本上想要什么,我可以这样想:
在类C中创建类A的对象,并使用类C中存在的对象访问类A的函数
发布于 2012-10-29 17:22:50
如果你想在Class C中调用Class A的方法和它的对象,那么你不需要实现继承,如果你想用Class C's对象调用Class A的方法,你需要实现继承。
https://stackoverflow.com/questions/13118573
复制相似问题