Outils pour utilisateurs

Outils du site


lang:cpp:constructeur

Ceci est une ancienne révision du document !


Initialisation d'un membre dans la déclaration vs dans le constructeur

C'est la même chose. La valeur dominante sera celle définie dans le constructeur.

int show(int i)
{
  std::cout << "i" << i << std::endl;
  return 1;
}
 
class Something
{
public:
  int m_a = 0;
  Something() :
    // Ici, la valeur n'aura pas été préalablement initialisée à 0.
    m_a(show(m_a))
  {
  }
};
 
int main()
{
  Something smh;
  std::cout << smh.m_a << std::endl;
}

Valeur affichée :

i-858993460
1
lang/cpp/constructeur.1562766503.txt.gz · Dernière modification : 2019/07/10 15:48 de root