Bonjour tout le monde,

J'ai une question sur les constructeurs :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
CReleve::CReleve()
:m_Annee(0),m_Superficie(0.0)
{
}
Je peux lire dans le code de ce constructeur :

m_Annee(0)

Cela veut-il dire que l'on affecte à la donnée membre Annee la valeur 0 ? (là j'ai juste besoin d'une confirmation car j'en suis presque sûr).

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
CReleve::CReleve(const CReleve& Source)
:m_Zone(Source.m_Zone),m_Annee(Source.m_Annee),m_Superficie(Source.m_Superficie)
{
}
Ici, il me semble qu'un objet Source est créé et qu'il est de type CReleve, on affecte alors les valeurs de Source.m_Zone... au constructeur.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
CReleve::CReleve(const char* UnNomDeZone, short UneAnnee, double UneSuperficie)
:m_Annee(0),m_Superficie(0.0)
{
	DefinirZone(UnNomDeZone);
	DefinirAnnee(UneAnnee);
	DefinirSuperficie(UneSuperficie);
}
Je vois ici que via le constructeur, on peut appeler des fonctions pour "alimenter" le constructeur ?

Je présûme que l'on va mettre l'année à zéro, mais si un utilisateur devrait rentrer l'année, on ne mettrait pas alors m_Annee(0), on aurait simplement m_Superficie(0.0) ?

Dans ces trois constructeurs, y'a-t'il un constructeur par copie ?

Merci d'avance pour votre aide so precious.

beegees