Académique Documents
Professionnel Documents
Culture Documents
Niveau : 2A / 2P
Equipe C++
Enseignante :
Mmes:
Ines Ben Hlima && Maroua Douiri
1
Plan du chapitre
Cycle de vie d’un objet
Constructeur paramétré
Opérateur d’affectation
Destructeur
Références
2
Cycle de vie d’un objet(1/3)
3
Cycle de vie d’un objet (2/3)
❖ Constructeur: Appel automatique
lors de l’instanciation de l'objet après Objets automatiques
l’allocation de la mémoire.
Appel du
constructeur
❖Destructeur: Appel automatique lors
de la destruction de l’objet avant la Objet
libération de la mémoire. dynamique
Appel du
destructeur
pour C & D
Appel du
destructeur
pour Z
Création:
✔objets statiques : déclaration
✔objets dynamiques : new
Mort:
✔objets statiques : fin de la portée
✔objets dynamiques : delete
5
Définition d’un constructeur
6
Constructeur par défaut
✔ Avec un constructeur par défaut (sans paramètre), nous pouvons initialiser
les attributs d’un objet à des valeurs par défauts données par le
développeur.
C
0
0
C
1
200
8
Constructeur paramétré (2/2)
Si nous définissons un constructeur paramétré sans avoir défini
un par défaut
9
Constructeur de copie(1/3)
❑ Permet de créer un objet qui est une copie d’une autre instance de la même classe.
Compte C2(C1);
C’est l’appel du constructeur de copie
// Compte C2=C1
Exemple 2:
Compte C1(12,200);
Compte C2;
11
Constructeur de copie(3/3)
Attribut
Constructeur par défaut
dynamique
get/set
Appel du ctor
de copie
12
Opérateur d’affectation(1/2)
C B
2855.2 2855.2
0 450.3
0
13
Opérateur d’affectation(2/2)
❑ Il a 4 prototypes possibles:
14
Destructeur(1/3)
❖ Un destructeur d’une classe donnée est une méthode exécutée
automatiquement à chaque fois qu’une instance de la classe donnée
disparait.
❖ Appelé lors de la destruction de l'objet.
❖ Son identificateur est le nom de la classe précédé par le caractère ~ ;
class Compte {
double solde;
int ref;
public:
Compte(){ref=0; solde=0;}
Compte(int r , double s ) {ref=r;solde=s;}
~Compte(){cout << ’’je suis un destructeur’’ << endl;}
};
15
Destructeur(2/3)
Le destructeur d’une classe C est appelé implicitement:
16
Appel de destructeur(3/3)
Quelques règles:
18