Je debute en C++

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.

//Les constructeurs:
animal(int);
animal(*animal);
animal(&animal);
//Les autres méthodes:
void affiche(animal);
void initage(animal);
//Le destructeur: optionnel ici?};

//Les méthodes ??

Je n’ai pas encore fait beaucoup de C++, donc sous réserves d’erreurs ^^" !

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 :

  1. 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)

www.siteduzero.com…