我在抽象數組中遇到困難。在我目前的情況下,我想要一個名爲Base
的抽象類的二維數組。所以我在一個名爲Container
的類中創建了一個指向二維數組Base
的指針。如何訪問數組內的項目?另外,有人可以確認我正在刪除我的陣列嗎?預先感謝任何幫助!抽象類的二維數組?
class Base
{
public:
virtual void abstract() = 0;
};
//----------------------------------
class Derived : public Base
{
public:
virtual void abstract();
};
void Derived::abstract()
{
// empty
}
//----------------------------------
class Container
{
public:
Board();
virtual ~Board();
Base* bases[8][8];
};
// Constructor
Container::Container()
{
for (int i = 0; i < 8; i++)
for (int j = 0; j < 8; j++)
bases[i][j] = new Derived();
}
// Destructor
Container::~Container()
{
for (int i = 0; i < 8; i++)
delete [] bases[i];
delete [] bases;
}
//----------------------------------
int main()
{
Container container;
}
你試過'std :: vector >>'? –
moshbear
2012-03-11 22:38:59
@moshbear我沒有。我會試試 – 2012-03-11 22:39:44
@moshbear那麼'shared_ptr'只能處理我的內存分配問題嗎? – 2012-03-11 23:09:35