我正在尝试访问位于父类(TestClassOne.h)内部的对象(TestClassThree.h)内部的变量。每个类都在其自己的文件中,当我尝试导入文件以实例化这些类时,它会崩溃。我怀疑这是由于导入循环造成的。我认为我不能使用前向类声明,因为那样会限制对变量的访问。如何从TestClassTwo访问TestClassThree内部的变量?
//--TestClassOne.h--
#include "TestClassTwo.h"
#include "TestClassThree.h"
class TestClassOne {
public:
TestClassTwo *myVariable;
TestClassThree *mySecondVariable;
TestClassOne() {
myVariable = new TestClassTwo(this);
mySecondVariable = new TestClassThree();
}
};
//--TestClassTwo.h--
#include "TestClassOne.h" //<-- ERROR
class TestClassTwo {
public:
TestClassOne *parent;
TestClassTwo(TestClassOne *_parent) : parent(_parent) {
}
void setValue() {
parent->mySecondVariable->mySecondVariable->value = 10;
}
};
最佳答案
您可以使用forward class declarations
和friend
关键字