Comment voulez-vous utiliser le constructeur par défaut pour un membre?

J'ai deux classes

class a {
    public:
        a(int i);
};

class b {
    public:
        b(); //Gives me an error here, because it tries to find constructor a::a()
        a aInstance;
}

Comment puis-je obtenir de sorte que aInstance est instancié avec un(int i) au lieu d'essayer de rechercher un constructeur par défaut? Fondamentalement, je veux le contrôle de l'appel du constructeur de l'intérieur b du constructeur.

Je réalise que c'est un exemple, et pas de code, mais juste pour le plaisir de ~~étant un pédant~~ la qualité du code, il n'est généralement pas une bonne idée de faire des champs de public. Bien sûr, il existe certains cas d'utilisation, et ce n'est pas universellement mauvais, mais avant de le faire, assurez-vous que il ya une raison au-delà de "cela peut simplifier une partie de mon code" ("il ne simplifient beaucoup de mon code" est parfaitement acceptable raison, tout de même)

OriginalL'auteur Jeremy Salwen | 2010-01-18