[問題] 請問關於class初始化的問題
希望能請各位版友幫忙,我的問題如下:
在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
03/23 00:21, 1F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章