[問題] 請問關於class初始化的問題

看板C_and_CPP (C/C++)作者 (最好是這樣啦.)時間16年前 (2009/03/22 23:43), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/1
希望能請各位版友幫忙,我的問題如下: 在main()中會先請輸入者輸入要產生的nodes數,存在變數numOfNodes, 想要做的事是:在main中產生一個型態為Node的陣列: allNodes[numOfNodes] , 此陣列用來存放所有的Node, 並且把allNodes中每一個Node的isNeighbor變數的長度設為numOfNodes 請問這樣應該要怎麼做呢? 如果我在main中宣告的不是Node的陣列,只是Node的話,程式碼如下: 但如果是想要宣告Node的陣列,我的code該如何更改呢? 感謝! class Node { public: int id; vector<bool> isNeighbor; Node(int n=0,bool df=0):isNeighbor(n,df){} //Node的constructor,幫我初始化isNeighbor的長度 }; int main(void) { int numOfNodes = 0; cout << "請輸入要產生多少個點:" << endl; cin >> numOfNodes; Node allNodes(numOfNodes); //這裡這樣寫只有先宣告了一個Node, //不過我其實是想宣告一個陣列allNodes[numOfNodes], //並且能跑Node中的constructor, //將每個allNode中的元素的isNeighbor的長度設成 numOfNodes cout <<" Node中變數isNeighbor的長度:"<< allNodes.isNeighbor.size() << endl; //若能成功初始 allNodes[]中的每個Node,這裡想cout allNodes[0].isNeighbor.size() system("pause"); return 0; } 非常謝謝版友的幫忙! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.204.237.243

03/23 00:21, , 1F
vector<Node> allNodes(numOfNodes,Node(numOfNo,true));
03/23 00:21, 1F
文章代碼(AID): #19nboYDA (C_and_CPP)
文章代碼(AID): #19nboYDA (C_and_CPP)