begin process at 2012 02 09 21:08:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Général

 > 

Héritage et destructeur


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Héritage et destructeur

vendredi 2 juin 2006 à 18:38:26 | Héritage et destructeur

vincemail

    Bonsoir à tous, j'aurai besoin de quelques précisions quant aux destructeurs d'une classe héritant d'une autre. J'ai une classe B qui hérite d'une classe A (avec un destructeur définit pour chacune des classe), et je voudrais savoir ce qu'il se passe lorsqu'on fait un "delete" sur un objet de la classe B. J'ai l'impression que le destructeur de B est lancé puis celui de A... mais ca me parait bisarre quand meme, vous pouvez m'éclairer ?
Merci beaucoup
Vincent
vendredi 2 juin 2006 à 19:09:24 | Re : Héritage et destructeur

vecchio56

Administrateur CodeS-SourceS
Si tu fais A* a = new B(); delete b; Seul le destructeur de A sera appelé (sauf si le destructeur de A est virtuel) Par contre: B* b = new B(); delete b; Va appeler le destructeur de B, puis celui de A. Dans tous les cas, le destructeur de A sera appelé
vendredi 2 juin 2006 à 20:47:30 | Re : Héritage et destructeur

vincemail

Je vois, n'y a t-il aucun moyen que les instructions :
A* a=new B();
delete a;

déclenche le destructeur de B puis celui de A ? Car c'est ce que je voudrais faire justement... C'est quoi un destructeur virtuel ?
Merci
Vincent
vendredi 2 juin 2006 à 20:59:16 | Re : Héritage et destructeur

vecchio56

Administrateur CodeS-SourceS
Réponse acceptée !
Justement, c'est possible en mettant le destructeur de A comme virtuel: virtual ~A(); Virtuel, ca veut dire que justement il sera appelé dans le cas que tu cites Exemple pour être sûr: #include using namespace std; class A { public: virtual ~A() {cout << "A::~A()" << endl;} }; class B: public A { public: ~B() {cout << "B::~B()" << endl;} }; int main() { A* a=new B(); delete a; }
vendredi 2 juin 2006 à 21:05:50 | Re : Héritage et destructeur

vincemail

    Ah d'accord, merci beaucoup, ca va vraiment m'aider ! Bonne soirée
Vincent
samedi 28 janvier 2012 à 10:29:35 | Re : Héritage et destructeur


Cette discussion est classée dans : classe, héritage, destructeur


Répondre à ce message

Sujets en rapport avec ce message

Pb de Multi héritage [ par bach58 ] Je veux définir une classe Z qui hérite d'une autre classe A par deux voies différentes :class A{ int a; ....}class X:A ..{..}class Y:A... {...} Héritage [ par Aldarek ] Bonjour à tous j'ai un petit problème, j'ai du mal à faire le lien entre deux classes Quelqu'un pourrait il m'aider? Voici le code: Manger::Manger(int Constructeur par recopie et Héritage [ par heleos ] Bonjour, J'ai un légé soucis avec un programme c++ Je n'arrive pas à faire un constructeur par recopie d'une sous classe. J'ai testé comme ceci mais Héritage... [ par platon179 ] Bonjour, petit souci concernant les classes dérivées et l'accès aux fonctions membres. Je vous schématise simplement le problème : La classe Base poss template et héritage [ par cybermax62 ] j'ai un problème de fond dans ma conception. Je voudrais utiliser une classe template de base Singleton avec des classes héritées (plusieurs fois). Le Besoin d'un peu d'aide sur l'héritage et les constructeurs [ par neodelphi ] Bonjour tout le monde, j'ai deux petites question à propose du langage c++ sur l'héritage et les constructeurs:Tout d'abord, je voudrai savoir si lors TPanel et héritage [ par websinh ] Bonjour tout le monde,Alors voilà mon problème : J'ai deux classes. l'une scrMain et l'autre scrEditor. scrEditor Hérite de scrMain. sur cette classe template et l'héritage [ par imad_lol ] salut.dans mon programme je déclare 2 classe X et Y.les 2 classe sont des classes templates et Y hérite de X :template class X{ };//****************** héritage d'une template classe comme vector [ par Urukai1 ] bonjourje suis un newbie en cpp, et j'ai fait beaucoup de javaje souhaite faire une classe qui herite par exemple de la classe vector avec template,le Héritage et composition [ par naail ] Bonjour, j'ai un petit soucis, je vais essayer d'imager mon problème: J'ai une classe mère A et A1 et A2 qui hérite de cette classe. J'ai ensuite u


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,416 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales