作者dannych2000 (最好是这样啦.)
看板C_and_CPP
标题[问题] 请问关於class初始化的问题
时间Sun Mar 22 23:43:27 2009
希望能请各位版友帮忙,我的问题如下:
在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
1F:推 chrisdar:vector<Node> allNodes(numOfNodes,Node(numOfNo,true)); 03/23 00:21