Je sais qu'en Java c'est possible mais en C++ ?
Merci
Je sais qu'en Java c'est possible mais en C++ ?
Merci
Pas directement, mais tu peux jouer sur les constructeurs/destructeurs 'private' pour la rendre in-héritable dans les faits.
Un article intéressant sur codeGuru.
Bonjour,
A ce que j'ai cru comprendre, il faut mettre le constructeur en private, et faire une méthode static final* CreateInstance() qui renvoit une instance de la classe.
Source : http://www.devx.com/tips/Tip/29062
"Never use brute force in fighting an exponential." (Andrei Alexandrescu)
Mes articles dont Conseils divers sur le C++
Une très bonne doc sur le C++ (en) Why linux is better (fr)
Héritage n'équivaut pas à polymorphisme. Comment pouvez vous prévoir à l'avance ce que va devenir la classe une fois lachée dans la nature ?
Ca me ferait chier de ne pas pouvoir faire un héritage privé pour réutiliser du code à cause de ce genre de manipulations foireuses.
"Never use brute force in fighting an exponential." (Andrei Alexandrescu)
Mes articles dont Conseils divers sur le C++
Une très bonne doc sur le C++ (en) Why linux is better (fr)
Si tu n'herite pas pour le polymorphisme, alors c'est plus ou moins pour forcer l'amitie avec cette classe, si ca c'est pas une manipulation foireuse... C'est clairement une faute d'un point de vue OO.
Nan, tu es dans l'optique héritage=polymorphisme (ce qui est faux).
Tu peux utiliser un héritage privé pour réutiliser du code (c'est une alternative à la composition) ou l'héritage protected (je n'ai pas d'exemple réel mais je me rappelle que Luc en avait croisé un).
"Never use brute force in fighting an exponential." (Andrei Alexandrescu)
Mes articles dont Conseils divers sur le C++
Une très bonne doc sur le C++ (en) Why linux is better (fr)
Partager