#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&)
};
Disons que j'ai ceci comme mon fichier d'en-tête. Dans mon implémentation pour cela, quelle est la meilleure façon de faire Heap() constructeur et ~ Heap() destructeur.comment détruire un tableau
J'ai
Heap::Heap()
{
elements = 0;
}
Heap::~Heap()
{
array = NULL;
}
Je me demande si cela est la bonne façon de détruire et de construire un tableau dans ce cas.
Que voulez-vous dire par destruction? Mettre à zéro? Ou voulez-vous dire deallocate? Si vous voulez dire le dernier, alors vous n'avez pas à le faire puisque ce tableau sera alloué sur la pile et désalloué lorsque le Heap-Dtor est appelé. – Christian
Il PEUT être alloué sur la pile, ou il ne peut pas. Cela dépend entièrement de la façon dont les instances de tas sont créées. –
Vous avez raison, j'aurais dû être plus précis et j'ai dit que "le tableau sera désalloué automatiquement lorsqu'une instance de Heap sort de sa portée/est désallouée" – Christian