Les class dans C++

Bonjour.

(animal.h) :

  1. Class Animal
  2. {
  3. Public:
  4. Animal (string nom);
  5. Void afficher();
  6. Protected:
  7. String m_nom;
  8. };

(animal.cpp):

  1. Animal :: Animal(string nom)
  2. {m_nom = nom;}
  3. Void Animal::afficher()
  4. { cout << " Le " << m_nom << endl;}

Dans ce code ci dessus dans animal.cpp
Lingne 1: Animal devant :: c’est le nom de la classe et le second c’est l’objet de la classe ?

Bonjour,

Pour le dire simplement.

Dans animal.cpp; Animal est le nom de la classe.

Animal::Animal(string nom) est le constructeur que l'on doit appeler pour créer des objets de la classe.

Comme pour un entier tu déclares: int toto=123;
Pour créer un animal du nom de "Lion" tu écrit:

Animal lion("Lion");
ou Animal monAnimal("Tigre");

Ensuite tu pourras afficher son nom par:

lion.afficher(); et monAnimal.afficher();

Merci pour la réponse.
J'ai beaucoup de mal à comprendre ces notions constructeur/destructeur.

Donc dans animal.h
ligne 4 : Animal(string nom); c'est une déclaration de constructeur( qui est identique à une déclaration de fonction en fait ).

Ainsi l'implémentation d'un constructeur est identique à celle d'une fonction classique sans le return:
classNom::classNom (type var) { définition ;}

Avec le C je m'amusais avec le C++ je m'arrachais les cheveux.

prenez le temps de suivre un petit cours - par exemple sur openClassroom. La partie 2 traite de la programmation orientée objet (il y en a plein d’autres en ligne, j’ai pris le premier)