Partager via


Initialisation à l'aide de les fonctions membres spéciales

Cette section décrit l'initialisation à l'aide de les fonctions membres spéciales.Il examine les révisions suivants de l'initialisation :

  • initialiser des agrégats qui décrit comment initialiser des tableaux de types sans classe et les objets de la classe simple types.Ces types simples de classe ne peuvent pas avoir des membres privés ou protégés, et ils ne peuvent pas avoir de classes de base.

  • constructeurs, qui explique comment initialiser des objets de classe-type à l'aide de les fonctions constructeurs spéciales.

la méthode par défaut d'initialisation est d'effectuer une copie de bit-pour-bit de l'initialiseur dans l'objet à initialiser.Cette technique s'applique uniquement à :

  • Objets de types intégrés.Par exemple :

    int i = 100;
    
  • pointeurs.Par exemple :

    int i;
    int *pi = &i;
    
  • références.Par exemple :

    String sFileName( "FILE.DAT" );
    String &rs = sFileName;
    
  • Les objets de la classe tapez, où la classe n'a pas les membres privés ou protégés, aucune fonction virtuelle, et aucune classe de base.Par exemple :

    // spec1_special_member_functions.cpp
    // compile with: /LD
    struct Point
    {
        int x, y;
    };
    
    Point pt = { 10, 20 };   // Static storage class only
    

Les classes peuvent spécifier une initialisation plus raffinées en définissant des fonctions constructeurs.(Pour plus d'informations sur ces déclarer des fonctions, consultez constructeurs.) Si un objet est d'un type de classe avec un constructeur, l'objet doit être initialisée, ou il doit y avoir un constructeur par défaut.Les objets qui ne sont pas spécifiquement initialisés appelez le constructeur par défaut de la classe.

Voir aussi

Référence

Fonctions membres spéciales (C++)