4
disons que j'ai une classe A et une classe B. B est utilisé comme membre dans A. B n'a pas de constructeur par défaut mais un qui nécessite un paramètre.C++ appelant un constructeur non-par défaut comme membre
class B {
B(int i) {}
};
class A {
B m_B;
A()
{
m_B(17); //this gives an error
}
};
comment puis-je utiliser B en tant que membre A?
Dans cet exemple, si cette dernière ligne 'm_B = B (17)' ont été appelés de la ' A() 'constructor, le constructeur par défaut de' B' est-il toujours invoqué? Si oui, y a-t-il un moyen d'empêcher cela? –
@Steven: (1) Oui. (2) Utilisez la liste d'initialisation pour initialiser 'm_B'. – kennytm