begin process at 2012 05 28 17:49:54
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Maths & Algorithmes

 > 

destructeurs et virtual


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

destructeurs et virtual

mardi 23 août 2005 à 12:20:32 | destructeurs et virtual

magic_Nono

Membre Club
Bj, Un des principes de la POO est de toujour faire précéder le destructeur du mot clef virtual afin qu'il soit appeler meme si il y a héritage (peut etre y a t'il un autre but)

cependant,
mettre ce mot clef entraine la mémorisation
de l'adresse de la fonction du destructeur (enfin si c'est bien ça)
transmise avec chaque instance de l'objet

et occupe donc
une certaine place ce qui peut etre contrariant
et si on a un grand nombre d'occurences de notre classe

par conséquent,
préconnisez vous l'usage systématique de ce mot clef
ou ne l'utilisez vous
uniquement pour les classes utilisant l'héritage


Merci à vous.
___________________________________________________________
Magicalement
Nono
mardi 23 août 2005 à 15:31:03 | Re : destructeurs et virtual

cosmobob

salut,
pour moi, mettre un descructeur virtuel a une classe qui n'a aucune autre fonction virtuelle est un non sens. On anticipe une évolution de l'interface de la classe (en disant, si on rajoute une fonction virtuelle, et qu'on fait du polymorphisme avec, il faudra qu'il y ait un destructeur virtuel), mais cette situation n'arrive jamais !! et si cela arrive, c'est de la responsabilité de celui qui ajoute une fonction virtuelle que de placer le descructeur de la classe de base virtuel aussi.
et si en C++ tu fais de l'héritage sans virtualité, pour factoriser, alors autant preferer systematiquement la méthode d'aggregation (pas de dérivation de la classe A, mais un objet de type A est un champ de la classe B).

voila, enfin il y a des gens qui vont precher le contraire ...
a+




mardi 23 août 2005 à 15:51:32 | Re : destructeurs et virtual

cosmobob

cela dit, si ton compilateur est malin (vs7 l'est), si tu utilises statiquement un objet qui a un descructeur virtuel, ton compilo ne creera aucune table de fonctions virtuelles. Dans le code generé, il n'y aura donc a mon avis aucune difference !!
enfin selon moi, autant se servir de certains trucs qd c'est pertinent, et un descructeur virtuel si tu fais jamais d'héritage c'est un peu débile

mardi 23 août 2005 à 16:16:12 | Re : destructeurs et virtual

cosmobob

Réponse acceptée !
sinon, je vois pas comment "un des principes de la POO est de toujour faire précéder le destructeur du mot clef virtual" puisque dans d'autre langages objet (ex: Java), tlm est virtuel par défaut, donc le mot clé virtual n'existe meme pas.
Et la phrase "un des principes de la POO en C++ est de toujour faire précéder le destructeur du mot clef virtual" est un faux principe, vu que c'est a reserver aux classes qui servent d'interface aux autres. Tu es pas censé vouloir dériver n'importe quelle classe, ou vouloir faire du polymorphisme avec. Les containers de la STL ont pas de descructeur virtual !!
mardi 23 août 2005 à 16:18:58 | Re : destructeurs et virtual

magic_Nono

Membre Club
Réponse acceptée !
parfaitement d'accord

faudra expliquer un jour à nos ex prof qu'ils nous apprennent que des conneries,
je me rappelle avoir u des pt en moins a cause de qqch comme ça

Bon, on sait qu'il y a une distance entre le monde réel et les études, mais là, C mm plus un précipice, ça s'apparente à l'océan, et encore, je suis gentil.

___________________________________________________________
Magicalement
Nono
mardi 23 août 2005 à 20:53:24 | Re : destructeurs et virtual

vecchio56

Administrateur CodeS-SourceS
"pour moi, mettre un descructeur virtuel a une classe qui n'a aucune autre fonction virtuelle est un non sens" J'ai pas compris le rapport (on peut faire del'héritage sans fonctions virtuelles)
mardi 23 août 2005 à 21:01:27 | Re : destructeurs et virtual

vecchio56

Administrateur CodeS-SourceS
Ca y est j'ai compris le rapport :)
mardi 23 août 2005 à 21:13:53 | Re : destructeurs et virtual

cosmobob

lol rapide !
mercredi 24 août 2005 à 01:54:44 | Re : destructeurs et virtual

magic_Nono

Membre Club
ui, cf 1er post de cette page

___________________________________________________________
Magicalement
Nono


Cette discussion est classée dans : mot, clef, virtual, destructeurs, destructeur


Répondre à ce message

Sujets en rapport avec ce message

crypter un mot de passe et créer un répertoire [ par Vinsou ] salut,je cherchais une focntion qui permetrai de crypter un mot de passe sous linux pour pouvoir l'ajouter dans /etc/passw (dans un script bien sûr).O Palindrome et espaces [ par TheRecliner ] Bonjour,je dois faire petit programme qui détécte si un phrase est un plaindrome ou non....j'ai bien résussi à faire cette détection mais uniquement p CreateFile [ par Toobad ] J'ai un prob avec CreateFile sous VC++6Au dernier argument il arrete pas de boguer sur une histoire de conversion VOID* en INT.J'ai essayer un tas de comment protéger l'ouverture d'un fichier ? [ par f1cobra ] Bonjour, je voudrais protéger l'ouverture d'un fichier excell par un mot de passe, de manière a ce que seules les personnes ayant le mot de passe puis Rechercher une chaîne de caractère dans un fichier et afficher la ligne !! [ par UncleShu ] Exemple : Mot à rechercher :-> friend----fichier où il faut rechercher le mot-----enfant childenfants childrenami friendwhen offset ds un CFile [ par idiotech ] g un fichier de type CFile ki a un mot a chaque ligne et en fait je voudrais lire un mot d'une lignecomment je fais pour lire avec un offset au debut * Mot de passe [ par shenron ] Slt,vs savez comment on fait pour lorsqu'un user saisit une chaine de caractère, ce k'il tape se met en * comme si c t un mot de passe? Probleme typedef struct [ par shenron ] #include #include #include /*Definition de la structure*/typedef struct{ char login[11]; char mdp[11];}strlogin;/*Declaration de fonctions*/void ajo vérification du mot de passe [ par biscot19 ] Bonjour,Je cherche comment vérifier un mot de passe NT en C++.J'ai vu que la fonction NetUserChangePassword permettait de le faire mais comme son nom SVP URGENT choisir le mot le plus proche dans une liste [ par Ricpperso ] Bonjour,je suis en train de faire un correcteur orthographique, et je voudrais savoir commen t on fais pour chercher les mots les plus proches dans un


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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 : 2,090 sec (3)

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