Bonjour à tous !
Je viens de finir le tutoriel sur la POO en C++ et je vous avoue que je trouve ce concept passionnant ! Je me suis donc lancé dans l'exercice du Javaquarium en C++. Je vous montre ce que j'ai fait pour le moment, les questions suivront. Voici mes codes (c'est vraiment le début !) :
Aquarium.cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | #include "Aquarium.h" // Compteur : unsigned int Aquarium::s_nbPoissons(0); unsigned int Aquarium::s_nbAlgues(0); // Classe Aquarium : // Constructeur : Aquarium::Aquarium() { } // Destructeur : Aquarium::~Aquarium() { } // Accesseurs : unsigned int Aquarium::getNbPoissons() const { return nbPoissons; } unsigned int Aquarium::getNbAlgues() const { return nbAlgues; } // Méthodes : void Aquarium::ajouterPoisson(string nom, char sexe) { ++s_nbPoissons; } void Aquarium::ajouterAlgue() { ++s_nbAlgues; } |
Poisson.cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | #include <string> #include "Poisson.h" using namespace std; // Constructeur : Poisson::Poisson(string nom, char sexe) : m_nom(nom), m_sexe(sexe) { } // Destructeur : Poisson::~Poisson() { } // Méthodes : string getNom() const { return m_nom; } char getSexe() const { return m_sexe; } |
Voilà, ce n'est pas grand chose, je le sais (je ne vous montre pas les .h, Algue.cpp et main.cpp car ils ne sont pas utile ici je pense). Voici mes questions :
- Les compteurs doivent-ils faire parti de la classe Aquarium ou de leur classe respective ?
- Comment instancier un nouveau poisson avec la méthode Aquarium::ajouterPoisson
? J'imagine que je vais devoir passer par des pointeurs, mais je ne peux pas faire :
1 2 3 4 5 | void Aquarium::ajouterPoisson(string nom, char sexe) { poisson = new Poisson(nom, sexe); ++s_nbPoissons; } |
Car je n'utilise pas les pointeurs et que poisson
n'existe pas… Et il en va de même pour la méthode Aquarium::ajouterAlgue
.
Merci de votre aide et bonne journée.