S’il vous plait, me tirez pas dessus, je débute en C++
Je commence des exercices simples en programmation mais je suis un peu perdu, j’aurais besoin de votre aide pour commencer
Construire une class Animal qui a pour attribut une chaine de 10 caracteres et un integer age
La class Animal a 3 constructeurs ayant pour parametre respectif
un pointeur animal
un entier
une reference animal
La class Animal a pour fonction membre Affiche qui affiche ses attributs
et une fonction membre initage
qui prend un parametre entier pour mettre à jour l’age de l’animal
Faire une fonction Main qui utilise toutes les fonctions définies avec les objets
suivants :
Animal *A;
Animal An;
Une proposition de code:
class animal
{private: // A ne pas oublier! POO=encapsulation=>il faut préciser si c’est du public, private, protected.
int m_age;
char nom[11];//Ca devrait aller pour la chaine de caractère nom… ?
public: // A ne pas oublier! POO=encapsulation=>il faut préciser si c’est du public, private, protected.
Bon alors t’as un bon début, mais au niveau des méthodes, t’as des erreurs :
void affiche(animal);
void initage(animal);
alors que l’énnoncé demande :
La class Animal a pour fonction membre Affiche qui affiche ses attributs
=> Alors pour utiliser une classe (en général) il faut instancier un objet (tout comme pour utiliser un « int » tu instancies une variable)
pour une variable tu fais int maVar;
pour un objet nomDeLaClasse monObjet; (dans ton cas Animal monObjet)
Une méthode s’applique sur un objet (donc par exemple sur monObjet) de cette façon : monObjet.methode() (ou monObjet->methode si monObjet est un pointeur sur un objet de classe Animal).
La méthode appelée a directement accès à ses attributs (monObjet va avoir accès à SA variable m_age et à SA chaine de caractère).
La méthode Affiche, affiche les attributs … elle n’a donc pas besoin de paramètre d’entrée.
2)une fonction membre initage qui prend un parametre entier pour mettre à jour l’age de l’animal
Dans ton cas de figure, la fonction initage prend quoi en argument ??? quelque chose de « type » animal, non? alors qu’il faudrait un int (je te laisse faire la modification).
Pour le moment t’as juste déclaré ta classe, mais elle n’est pas encore définit !
Pour cela, dans le fichier .cpp il faut que tu écris ce que fait chaque méthode.
(je connais pas ton niveau en c++ donc désolé si j’ai fait vraiment trop simple)