比如
class s
{
public:
s(int a) {b=a;}
...
private:
int b;
int w[b];
.....
};
我試著用new,但是還是不成功,那麼有什麼辦法可以使類中的數據多少由外部確定呢?
這是我在重載[]成員訪問運算符
和重載()函數調用運算符時遇到的問題。
用靜態數組的時候,必須同時指明數組的大小,比如int w[10],這是因為靜態數組在棧上分配,在編譯的時候就已經分配好內存了。樓主可以使用指針,也可以使用標准模板庫中的vector.
class s
{
public:
s(int a)
{
w=new int[a];
}
//別忘了在析構函數中釋放內存
~s()
{
delete[] w;
}
...
private:
int* w;
.....
};