在类的构造函数中,我创建了一个具有所需大小的数组,如下所示:

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;

}

10-08 02:39