在数组存储类中声明,private: string *names;
ArrayStorage& ArrayStorage::operator=(const ArrayStorage& rhs)
{
// possible error
names = new string[numOfElements];
return *this;
}
// copy constructor
ArrayStorage::ArrayStorage(const ArrayStorage& rhs):
names(new string[numOfElements]),
numOfElements(rhs.numOfElements)
{
//names = new string[this->getNumOfElements()];
for (int i = 0; i < this->getNumOfElements(); i++)
names[i] = rhs.names[i];
}
ArrayStorage::~ArrayStorage(void)
{
delete [] names;
}
================================= ArrayStorage.cpp=============== ================
我的第一个问题是,如果我将名称声明为私有,那么整个事情就不起作用了。如果我将其公开,它会起作用。
string *names
其次,您能否建议,如果我想声明为私有,我该如何使其工作?