比如
class s
{
public:
s(int a) {b=a;}
...
private:
int b;
int w[b];
.....
};
我试着用new,但是还是不成功,那么有什么办法可以使类中的数据多少由外部确定呢?
这是我在重载[]成员访问运算符
和重载()函数调用运算符时遇到的问题。
比如
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;
.....
};