在类的构造函数中,我创建了一个具有所需大小的数组,如下所示:
ArrayClass::ArrayClass(int size)
{
Number* nmbr = new Number[size];
}
和
ArrayClass::ArrayClass()
{
Number* nmbr = new Number[2];
}
我也将其在标题中指定为
Number* nmbr;
虽然数组本身的创建是可行的,但我似乎无法在构造函数之外访问它。似乎每当我离开构造函数时,变量就会从内存中释放出来。如何避免这种情况,以便在调用类中的其他函数时可以使用变量?
最佳答案
尝试在类的声明中而不是在构造函数中声明变量nmbr。
例:
class ArrayClass
{
private:
Number *nmbr;
public:
ArrayClass();
ArrayClass(int size);
~ArrayClass()
}
ArrayClass::ArrayClass(int size)
{
this->nmbr = new Number[size];
}
ArrayClass::ArrayClass()
{
this->nmbr = new Number[2];
}
ArrayClass::~ArrayClass()
{
delete this->nmbr;
}