Re: 請問在c++中如何在class中增加一個向量成員
※ 引述《FANTA.bbs@whshs.cs.nccu.edu.tw (…)》之銘言:
> 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海
討論串 (同標題文章)
完整討論串 (本文為第 5 之 9 篇):
Programming 近期熱門文章
PTT數位生活區 即時熱門文章