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...)
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager