我有一个设计问题。
我有三个独立的类,即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中的函数。
非常感谢。
Chintan
答案 0 :(得分:3)
正如@jogojapan所说,这更像是circular dependency问题。
您可以将指针成员用于C类中的A类并使用前向声明。
class classA;
class C{
classA* objAPtr;
};
然后在c.cpp中,您可以添加#include <classA.h>
答案 1 :(得分:0)
不确定你基本上想要我能想到的是什么:
在C类中创建A类的对象,并使用C类中存在的对象访问A类的函数
答案 2 :(得分:0)
如果要在Class A
中调用Class C
及其对象的方法,则不需要实现继承,如果要使用{{1}调用Class A
的方法然后你需要实现继承。