看板Programming
标 题Re: 请问在c++中如何在class中增加一个向量成员
发信站无名小站 (Fri Aug 25 02:24:28 2006)
转信站ptt!ctu-reader!ctu-peer!news.nctu!netnews.csie.nctu!wretch
※ 引述《[email protected] (…)》之铭言:
> class basis
> {
> public:
> vector<int> E(5,0);
> };
蓝字的地方是宣告,没有问题。
黄字的部分不属於宣告,而是指定初始化的参数。
类别内的资料成员,初始化的参数要在哪里指定?
不是在宣告的时候指定,只有 const static int 可以在宣告的时候同时初始化,
其余的状况你要在类别的建构子进行初始化。
所以请这样
class basis
{
public:
vector<int> E;
basic ()
: E(5,0) {}
};
或是如果你需要vector大小要是有弹性的,请这样
class basis
{
public:
vector<int> E;
basic
(int size) : E(size,0) {}
};
那你就可以在宣告物件的时候指定大小
int main ()
{
basis a(5); // vector<int> E(5)
basis b(10) ; // vector<int> E(10)
}
--
To iterate is human, to recurse is divine.
递回只应天上有, 凡人该当用回圈. L. Peter Deutsch
--
夫兵者不祥之器物或恶之故有道者不处君子居则贵左用兵则贵右兵者不祥之器非君子
之器不得已而用之恬淡为上胜而不美而美之者是乐杀人夫乐杀人者则不可得志於天下
矣吉事尚左凶事尚右偏将军居左上将军居右言以丧礼处之杀人之众以哀悲泣之战胜以
丧礼处之道常无名朴虽小天下莫能臣侯王若能守之万物将自宾天地相合以降甘露民莫
之令而自均始制有名名亦既有夫亦将知止知止可以t9562614.HUNG.ab.nthu.edu.tw海