User Tools

Site Tools


in204:cpp:syntax:class:constructor

This is an old revision of the document!


La création des objets

Les deux phases

Une classe définit la structure d'un objet.

Elle définit d'une part un ensemble de champs et d'autre part un ensemble de fonctions membres qui accèdent aux champs définis au sein de la classe.

Cependant, la classe n'alloue pas de mémoire pour les champs. C'est au moment de la création de l'objet que la mémoire nécessaire à stocker l'ensemble des champs nécessaire est allouée. Une fois la mémoire allouée, il est parfois nécessaire d'initialiser l'ensemble des champs de l'objet afin de pouvoir utiliser l'objet dès que l'opération d'initialisation soit terminé.

De fait, la création d'un objet comporte deux phases :

  • Phase 1 : La création d'un bloc mémoire suffisamment grand pour contenir l'ensemble des champs définis par la classe de l'objet.
  • Phase 2 : L'initialisation des champs de cet objet en exécutant une séquence d'instructions pour initialiser les champs de l'objet.

L'allocation mémoire

Classiquement, la mémoire allouée pour un objet se trouve :

  • soit sur la pile. L'allocation mémoire s'effectue au plutôt au moment
in204/cpp/syntax/class/constructor.1568656895.txt.gz · Last modified: 2019/09/16 18:01 by 77.194.42.247