我想弄清楚如何我可以或爲什麼我不能訪問這個類的成員。首先,我會告訴你什麼有用,所以你知道我在想什麼,然後我會告訴你我不能做什麼。訪問另一個類的指針數組的一個類的成員
我可以做的是這樣的:我有一個成員的類。我創建了該類的指針數組,並且創建了它的新部分(通過循環),這很好。我也可以創建另一個類,使用類似的數組,甚至創建新的實例並初始化它們,但是當我嘗試訪問它們時,我遇到了問題。
此代碼幾乎正常工作:
#include <iostream>
using namespace std;
class testClass{
public:
int number;
};
class testPoint{
public:
testClass testInstance;
testClass *testclassArray[5];
void makeArray();
void setToI();
};
void testPoint::makeArray(){
for (int i = 0; i < 5; i++){
testclassArray[i] = new testClass;
}
}
void testPoint::setToI(){
for (int i = 0; i < 5; i++){
(*testclassArray[i]).number = i;
}
}
int main(void){
testPoint firstTestPoint;
firstTestPoint.makeArray();
firstTestPoint.setToI();
// EXCEPT FOR THIS LINE this is where I have problems
cout << firstTestPoint.(*testclassArray[0]).number << endl;
return 0;
}
我知道這應該工作監守這個作品
int main(void){
testPoint firstInstance;
firstInstance.testInstance.number = 3;
cout << firstInstance.testInstance.number << endl;
// and this works
return 0;
}
和這個作品
int main(void){
testClass *testPointer[5];
for (int i = 0; i < 5; i++){
testPointer[i] = new testClass;
(*testPointer[i]).number = i;
}
cout << (*testPointer[0]).number << endl;
return 0;
}
所以我爲什麼不能以同樣的方式訪問cout函數上的成員?