#include <iostream> using namespace std; class K { public: /* q.1 précaution importante de sorte que le type K soit polymorphe sur son destructeur */ virtual ~K() { cout << "dtor K" << endl;} }; class L : public K { public: virtual ~L() { cout << "dtor L" << endl; } }; /* bug sujet, mais tout le monde a compris !? c'est un tableau de pointeurs */ void supprimer(K *k[],int n) { for (int i=0; i<n; i++) { delete k[i]; k[i] = 0; } } int main() { K *tableau[3]; tableau[0] = new K(); tableau[1] = new L(); tableau[2] = new K(); supprimer(tableau,3); return 0; }