Bonjour,
Je chercher à adapter une class C++ en Java.
J'ai très peu de connaissance en C++ et je n'arrive pas à comprendre ces quelques lignesQuelqun pourrait-il m'aider?CAADate::CAADate() : m_dblJulian(0), m_bGregorianCalendar(false)
{
}
Bonjour,
Je chercher à adapter une class C++ en Java.
J'ai très peu de connaissance en C++ et je n'arrive pas à comprendre ces quelques lignesQuelqun pourrait-il m'aider?CAADate::CAADate() : m_dblJulian(0), m_bGregorianCalendar(false)
{
}
Bonsoir.
C'est tout simplement un constructeur de la classe CAADate.
La syntanxe générale d'un constructeur est la suivante :<nom_classe> correspond évidemment au nom de la classe, comme pour la définition d'une fonction membre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <nom_classe>::<nom_classe> : <constructeur_classe_parente>, ..., <constructeur_membre>, ... { // Code du constructeur }
<constructeur_classe_parente> indique, pour chaque classe parente, quel constructeur utiliser (optionel).
<constructeur_membre> indique, pour chaque variable membre (non statique), quel constructeur utiliser (optionel).
On parle de liste d'initialisation pour ce qui est derrière les deux-points.
Il est vrai qu'on peut initialiser les variables membres directement dans le corps du constructeur, comme en Java, mais en C++ on privilégie la liste d'initialisation (FAQ C++ Mes constructeurs doivent-ils utiliser les listes d'initialisation ou l'affectation ?)
Pour l'appel aux constructeurs des classes parentes, là on n'a pas le choix.
En C++, on ne peut pas appeler un autre constructeur dans le corps d'un constructeur.
Voilà.
J'espère avoir répondu à ta question.![]()
Si j'ai bien compris ça initialise des variables membres de la class.
Merci beaucoup
C'est exactement ça.
Bon courage pour ton adaptation !![]()
En fait, on ne peut pas le faire en C++98, mais c'est maintenant possible en C++11 (http://www2.research.att.com/~bs/C++...elegating-ctor).
Hum...
Je vais garder ce lien quelque part dans un coin (accessible tout de même...)![]()
Partager