我想要訪問一個變量,它位於父類(TestClassOne.h)內部的一個對象(TestClassThree.h)中。每個類都在自己的文件中,當我嘗試導入文件以實例化它崩潰的類時。我懷疑這是因爲導入循環。我不認爲我可以使用前向類聲明,因爲這會限制對變量的訪問。我如何從TestClassTwo訪問TestClassTree中的變量?在C++中訪問一個姐妹對象的成員變量
//--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;
}
};
大概當你說「崩潰」你真的是指「我得到一個編譯器錯誤信息」? –
我不認爲你可以同時在a.h中的b.h和b.h中包含a.h。這將導致無限的深度依賴。 –
是的,編譯器抱怨。 – Sosumi