Si, il est toujours appelé. Sauf que c'est le constructeur par défaut qui l'est.
Ahhhh, non, désolé ! J'ai fait la manip, et le constructeur DE RECOPIE de la classe mère, qui existe, n'est pas appelé ! Par contre, oui, bien sur, le constructeur sans arguments est bien appelé.
Sinon, à part ça, n'utilise pas des noms de classes en majuscules.
L'usage veut que les majuscules soient réservées pour les macros, ou éventuellement les enums.
Oups, j'aurais du faire attention, et convertir en minuscule...
En fait, c'est une convention toute personnelle, que j'ai adopté il y a quelques années, de mettre tous les types de données en majuscules, classes, structures, et enum (en plus des macros, evidemment). Ce n'est pas très usuel, j'en conviens, mais ça a l'avantage pour moi, quand je survole du code "ancien", de différencier visuellement et de façon instantanée et "transparente" (c.-à.-d., sans avoir besoin de solliciter mon cerveau...) ce qui est un identificateur (variable/fonction) de ce qui est un type de donnée.
Par exemple, je trouve la déclaration suivante:
MON_TYPE CeciEstLaFonctionBidule( VACHE* nomdemavache, CHIEN* mon_chien, LISTE_TRUCS& uneliste );
plus "rapidement assimilable" que
montype CeciEstLaFonctionBidule( vache* nomdemavache, chien* mon_chien, listetrucs& uneliste );
Mais c'est bien sûr une histoire d'habitude...
De plus, en C++, le rôle des macros tend à se réduire par rapport au C, non ? Donc, les possibilités de confusions sont minimes...
C'est tout personnel, si un jour je travaille avec des gens que ça gène, pas de problème, je switcherai pour quelque chose de plus usuel...Pour l'instant, y'a que moi qui lit mon code
Partager