COCO30
February 24, 2019, 12:32pm
#1
Bonjour.
(animal.h) :
Class Animal
{
Public:
Animal (string nom);
Void afficher();
Protected:
String m_nom;
};
(animal.cpp):
Animal :: Animal(string nom)
{m_nom = nom;}
Void Animal::afficher()
{ 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 ?
bilbo83
February 24, 2019, 2:02pm
#2
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();
COCO30
February 24, 2019, 4:40pm
#3
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.
J-M-L
February 24, 2019, 4:44pm
#4
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)