0% ont trouvé ce document utile (0 vote)
17 vues11 pages

Classes Et Objets-1

Le document explique la déclaration de classes et la création d'objets en C++, en se concentrant sur les concepts de constructeurs et de destructeurs. Il présente un exemple de classe 'Time' avec des attributs pour l'heure, les minutes et les secondes, ainsi que des méthodes pour définir et afficher l'heure. Le texte souligne également l'importance des modificateurs d'accès et la gestion de la mémoire lors de l'utilisation de pointeurs pour les objets.

Transféré par

Moussa Coulibaly
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPTX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
17 vues11 pages

Classes Et Objets-1

Le document explique la déclaration de classes et la création d'objets en C++, en se concentrant sur les concepts de constructeurs et de destructeurs. Il présente un exemple de classe 'Time' avec des attributs pour l'heure, les minutes et les secondes, ainsi que des méthodes pour définir et afficher l'heure. Le texte souligne également l'importance des modificateurs d'accès et la gestion de la mémoire lors de l'utilisation de pointeurs pour les objets.

Transféré par

Moussa Coulibaly
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPTX, PDF, TXT ou lisez en ligne sur Scribd

Déclaration des classes et création des objets

dans un programme C ++
Le type de classe définit le modèle d'attributs (champs de structure) et d'opérations
(fonctions associées à la structure). Dans une classe, on peut déclarer ou définir des
méthodes, ou des prototypes de méthode avec une définition externe de leur
implémentation.
class Time{
private:
int hour;
int minute;
int second; //déclaration des attributs
public:
Time(); //Constructeur
void setTime(int, int, int);
void print24();
void print12();
};
Les mots réservés private, public sont des modificateurs d’accès, ils
permettent de contrôler l'accès aux membres de la classe. La spécification
du modificateur private refuse l'accès aux champs et aux méthodes depuis
l'extérieur de la classe, public - autorise l'accès depuis l'extérieur de la
classe. L'implémentation de la méthode, écrite en dehors de la déclaration
de classe, doit contenir le nom de la classe.
Time::Time(){ // initialise les champs de la classe donnée
hour=0;
minute=0;
second=0;
}
void Time::setTime(int h, int m, int s) {
hour=h;
minute=m;
second=s;
}
void Time::print24(){
cout<<hour<<" : " <<minute<<" : "<<second;
}

void Time::print12(){
if(hour==0||hour==12)
cout<<12;
else
cout<<hour%12;
cout<< " : " <<minute<< " : " <<second;
}

Un objet d’une classe est une variable ou une instance de cette


classe. Lors de l’exécution de l'instruction de déclaration de l’objet,
le constructeur de classe est appelé.
// La function Principale
int main(){
Time t; //l’appel du constructeur de la classe Time
[Link](14,32,11);
t.print24();
t.print12();
Time *tptr;
tptr=new Time; //Allocation dynamique de la mémoire pour
// l’objet et l’appel du constructeur.
(*tptr).setTime(1, 2, 3);
delete tptr; //Suppression de l’objet vers lequel point le pointer
tptr
return 0;
}
Le Constructeur
Un objet d’une classe est une variable ou une instance de cette
classe. Lors de l’exécution de l'instruction de déclaration de l’objet,
le constructeur de classe est appelé. Le constructeur est une
fonction dont le rôle est de créer et d’initialiser un objet. À la
création de l’objet, le constructeur alloue un espace mémoire
pour l’objet, et il renvoie le pointeur vers cet espace de mémoire.
Dans une classe on peut déclarer plusieurs constructeurs.
Il existe des aspects inhabituels des fonctions de constructeurs.
Premièrement, les fonctions de constructeurs portent exactement
le même nom que la classe dont ils sont membre. C'est une façon
dont le compilateur sait qu'ils sont des constructeurs.
Le Constructeur
Deuxièmement, aucun type de retour n'est utilisé pour les
constructeurs. Pourquoi pas? Puisque le constructeur est appelé
automatiquement par le système, il n’ya pas de programme auquel
renvoyer quoi que ce soit; une valeur de retour n'aurait pas de sens.
C'est la deuxième façon dont le compilateur sait qu'ils sont des
constructeurs.
Lorsqu’un constructeur n'est pas déclaré dans la classe, il est créé
automatiquement. Si la classe a plusieurs constructeurs, alors le
mécanisme de surcharge de fonction est utilisé, c'est-à-dire que les
constructeurs doivent être distingués par les listes de paramètres.
Le Constructeur
Le constructeur est une fonction membre dont l'objectif principal est
d'allouer de la mémoire pour l'objet, dont le volume est égal au
volume total des champs de l'objet. Le deuxième objectif, facultatif,
est d'effectuer certaines actions, par exemple pour initialiser des
champs. Si aucun constructeur n'est déclaré dans la classe, alors le
compilateur génère lui-même le code du constructeur sans
paramètres, qui ne peut remplir que son objectif principal -
l'allocation de mémoire pour un objet.
Le Destructeur
Le destructeur est une fonction membre d’une classe qui a pour objectif
principal de libérer la mémoire occupée par les champs d'un objet. Le
deuxième objectif, facultatif, est d'effectuer certaines actions pour libérer
des ressources. Si le destructeur n'est pas déclaré dans la classe, le
compilateur lui-même génère le code du destructeur, qui ne peut libérer
que de la mémoire.
Dans une classe le destructeur est déclaré en indiquant le symbole "~"
suivit du nom de la classe. Le destructeur est toujours seul et n'a pas de
paramètres, et ne renvoie aucune valeur. Exemple ~Time();
Les opérations du constructeur: l'opération de création et l'initialisation
d'un objet.
Les opérations du destructeur: l'opération de destruction d'un objet et
de libération de la mémoire qu'il occupe.
Exemple d’Utilisation du Constructeur et
Destructeur
class Time{
private:
int hour;
int minute;
int second; //déclaration des attributs
public:
Time(); //Constructeur
void setTime(int, int, int);
~Time(); // Destructeur
};
Exemple d’Utilisation du Constructeur et
Destructeur
Time::Time(){ // initialise les champs de la classe donnée
hour=0;
minute=0;
second=0;
}
void Time::setTime(int h, int m, int s) { //définition de la fonction SetTime
hour=h;
minute=m;
second=s;
}

Time::~Time(){ // définition du destructeur


}
Travail à faire par chaque Binôme

Apres avoir lu et analysé le code exemple, écrire un programme


qui permet de manipuler les objets d’une classe de votre choix.
Dans le programme vous devez définir une classe qui contient
cinq fonctions dont le constructeur et le destructeur en font parti.

Vous aimerez peut-être aussi