bonsoir, pour pouvoir détruire un objet d'une classe fille il faut que le destructeur de la classe mère soit protegé et non virtual ou bien public et virtual
mais pourquoi donc ce code génère une erreure :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 #include <iostream> class mere { protected: ~mere() { std::cout<<"destructeur de mere\n"; } }; class fille :public base { ~fille() { std::cout<<"destructeur de fille\n"; } }; int main() { mere *p_b = new fille; std::cout<<"Destruction de l'objet :\n"; delete p_b; // -> Erreur de compilation return 0; }
Partager