#include <cstdlib>
#include <iostream>
using namespace std;
const unsigned long MAX_SIZE = 20;
typedef int ItemType;
class Heap {
private:
ItemType array[MAX_SIZE];
int elements; //how many elements are in the heap
public:
Heap()
~Heap()
bool IsEmpty() const
bool IsFull() const
Itemtype Retrieve()
void Insert(const Itemtype&)
};
Предположим, у меня это как файл заголовка. В моей реализации для этого, что является лучшим способом создания конструктора Heap() и ~ Heap() деструктора.Как разрушить массив
У меня есть
Heap::Heap()
{
elements = 0;
}
Heap::~Heap()
{
array = NULL;
}
Я интересно, если это правильный способ уничтожить и построить массив в этом случае.
Что вы подразумеваете под разрушением? Нуль это? Или вы имеете в виду освобождение? Если вы имеете в виду последний, то вам не нужно, поскольку этот массив будет выделен в стеке и освобожден при вызове кучи-dtor. – Christian
Это МОЖЕТ быть выделено в стеке, иначе это может быть не так. Это будет полностью зависеть от того, как создаются экземпляры кучи. – 2009-12-10 10:37:07
Вы правы, я должен был уточнить и сказал, что «массив будет освобожден автоматически, когда экземпляр кучи выходит из области видимости/получает освобожденный» – Christian