Question simple sur surcharge de constructeur et prototype
Bonjour à tous,
J'essaie de mettre en place un petit exemple pour m'initier à la POO. J'ai donc une classe qui se présente ainsi :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
class Duree
{
public:
Duree() : m_heures(0), m_minutes(0), m_secondes(0)
{
}
Duree(int heures, int minutes, int secondes) : m_heures(heures), m_minutes(minutes), m_secondes(secondes)
{
}
private:
int m_minutes;
int m_heures;
int m_secondes;
}; |
Si je veux que l'utilisateur puisse construire un objet Duree en précisant 1, 2 ou 3 paramètres, suis-je obligé de créer autant de constructeurs que de formes possibles d'utilisation ou bien puis-je préciser des valeurs par défaut pour chaque attribut ?
Je crois qu'il est possible de le faire via le prototype, comme ceci :
Code:
1 2
|
Duree(int heures = 0, int minutes = 0, int secondes = 0); |
mais l'ensemble de mon code est pour cet exemple dans le même fichier source, donc je n'ai pas de prototypes.
Quelle est la solution dans ce cas ?
Et, petite question liée, est-il possible d'initialiser les attributs comme ceci ? :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
class Duree
{
public:
Duree() : m_heures(0), m_minutes(0), m_secondes(0)
{
}
Duree(int heures, int minutes, int secondes) : m_heures(heures), m_minutes(minutes), m_secondes(secondes)
{
}
private:
int m_minutes = 0;
int m_heures = 0;
int m_secondes = 0;
}; |
Merci d'avance de vos éclairages :)
A++
Jean-Marc