c++ de l'initialisation de l'objet statique dans la déclaration de classe
J'ai une classe C++ (class1) avec un objet statique d'une autre classe (classe 2) en tant que membre privé.
Je sais que lors de l'utilisation du programme, je vais avoir à initialiser l'objet statique, je peux utiliser un constructeur par défaut pour ce (non désiré).
Est-il possible d'initialiser l'objet statique à mon choix de valeur qu'une seule fois, et que si je créer un objet de la classe conteneur (class1)?
Toute aide serait appréciée.
Vous ne pouvez pas utiliser un constructeur de classe pour initialiser un membre statique. Les constructeurs sont appelés à chaque fois une nouvelle instance de l'objet est créé, mais la statique ne sont initialisés à la fois.
oui vous pouvez, si vous ajoutez un contrôle.
Dans votre code ci-dessous,
ah, vous avez raison, la terminologie erreur.
oui vous pouvez, si vous ajoutez un contrôle.
Dans votre code ci-dessous,
Bptr = new B(arguments, to, constructor);
n'est pas une phase d'initialisation. L'initialisation est B* A::Bptr = nullptr;
.ah, vous avez raison, la terminologie erreur.
OriginalL'auteur bryan sammon | 2012-05-08
Vous devez vous connecter pour publier un commentaire.
Oui.
Cependant, il sera initialisé même si vous n'avez pas créer une instance de la
A
classe. Vous ne pouvez pas le faire d'une autre manière, sauf si vous utilisez un pointeur et l'initialiser une fois dans le constructeur, mais c'est probablement une mauvaise conception.SI vous voulez vraiment bien, voici comment faire:
Cependant, comme je l'ai dit, c'est probablement une mauvaise conception, et il a le multithreading questions.
il n'a pas d'importance combien vous faites, je vais écrire un exemple.
là vous allez.
Merci beaucoup, vous pensez que c'est une mauvaise conception de l'habitude?
eh bien, cela dépend bien sûr de votre situation, mais je pense qu'il y a plusieurs situations dans lesquelles il est mauvais qu'il y a dans lequel il est bon de conception. Je ne peux pas penser à une situation dans laquelle vous voulez un nouveau séparé de l'objet unique à apparaître après la création de l'un de ces objets. Vous arrivez à prendre la décision finale.
OriginalL'auteur Seth Carnegie