Constructor Delegating

Constructor Delegating

by Faruk Kerem Cekmeceli -
Number of replies: 1
Bonjour Monsieur,

Lorsque j’ai essayé d’appeler un constructor dans un constructor comme :

Souris(double mass, string color) {

Souris(mass, color, 0, 36);
}

je n’ai pas pu obtenir l’effet que je voulais. Sur le web j’ai trouvé la solution (l’utilisation d’opérateur : ) mais je n’ai pas bien compris la raison et ce qui s’est passé pour le premier cas (sans utilisant : ). Pouvez-vous l'expliquer s’il vous plait ?

Merci pour votre attention …
In reply to Faruk Kerem Cekmeceli

Re: Constructor Delegating

by Ronan Boulic -

la syntaxe de l'opérateur : est expliquée dans le MOOC de cette semaine (BOOC p17, Figure 4, 16:30).

c'est une syntaxe appelée "liste d'initialisation" recommandée pour initialiser les attributs de manière efficace et lisible.

Cette liste doit suivre le prototype du constructeur et précéder le bloc qui définit le constructeur. du fait de cette liste, il peut arriver que le bloc soit vide mais ça n'est pas un problème.

La réponse précise à votre question se trouve à la p20 du BOOC (Fig 3, 19:00): en C++11 un constructeur peut appeler un autre constructeur en utilisant la liste d'initialisation.