syntax constructeur [c++] - C++ - Programmation
Marsh Posté le 24-06-2003 à 16:59:46
Ben en fait ça s'apparente à un appel du contructeur pour initialiser ton membre. Donc les objets initialiser comme ça doivent avoir un constructeur de recopie pour que ça marche. Pour les types atomique ça marche comme une affectation.
Attention si tu utilise cette méthode tu dois initialiser les membres dans l'ordre de leur déclaration.
Marsh Posté le 24-06-2003 à 17:05:32
C'est tout simple, ça appelle le constructeur de val prenant comme paramètre v.
Un petit exemple:
Code :
|
Marsh Posté le 24-06-2003 à 17:27:54
effectivement:
Code :
|
marche très bien
désolé, c paske g l'habitude du c ... les types de bases sont donc de "vrais" objets
merci, pour vos réponses
Marsh Posté le 24-06-2003 à 17:35:19
Deaddy a écrit : |
Il y a déjà eu une baston (enfin, je me suis énervé trop vite sur quelqu'un qui savait pas) là dessus :
http://forum.hardware.fr/forum2.ph [...] t=#t272543
une initialisation (constructeur():val(intiVal)) c'est lorsque la valeur n'a jamais été affectée, la notion d'ancienne valeur dans la variable n'a pas de sens.
Une affectation, qui est plus exactement une réaffectation (val = newVal) c'est lorsque on écrase l'ancienne valeur pour y mettre une nouvelle, il existe donc des surchages de l'opérateur = (égal) qui vont toucher l'ancienne valeur, par exemple pour la prévenir qu'elle a été virée de la variable. Il est donc hors de question d'avoir un = vers une variable membre dans un constructeur (sauf de la cas rare ou tu sautes d'un constructeur à l'autre et que tu écrase la valeur qu'a mise un precédent constructeur).
Marsh Posté le 25-06-2003 à 08:43:41
Deaddy a écrit : effectivement: |
Les type atomique ne sont pas des objets, quand tu fais:
Code :
|
C la même chose que:
Code :
|
Marsh Posté le 24-06-2003 à 16:51:24
voila c une question de kazi noob :
je comprends pas du tout le val(v)
ca ressemble à un appel de fonction; ca fait val=v;
qq pourrait-il m'expliquer ce que c'est ? jusqu'à quel point on peut utiliser ce genre de syntax ?
(c surement tout bete, mais je vois pas)