Définir une structure à l'intérieur d'une classe en C++
Quelqu'un peut-il me donner un exemple sur la façon de définir un nouveau type de struct dans un classe en C++.
Grâce.
- Notez également que la même technique de la plupart des upvoted réponse peut être utilisé pour définir une classe à l'intérieur d'une classe, d'une structure à l'intérieur d'une structure et d'une classe à l'intérieur d'une structure. la classe et la structure sont différents pour le défaut de visibilité de leurs membres (privées et publiques, respectivement).
- ...et de leur héritage par défaut de type (public et privé, respectivement).
Vous devez vous connecter pour publier un commentaire.
Quelque chose comme ceci:
déclarer classe & imbriqués struct probablement dans certains fichier d'en-tête
si vous voulez séparer la mise en œuvre/définition, peut-être dans certains fichier CPP
si vous voulez inline de la mise en œuvre, d'autres réponses feront l'affaire.
Quelque chose comme:
Autres réponses ici ont démontré comment définir les structures à l'intérieur des classes. Il y a une autre façon de le faire, et c'est à déclarer la structure à l'intérieur de la classe, mais définir à l'extérieur. Cela peut être utile, par exemple, si la structure est décemment complexe et susceptible d'être utilisé de façon autonome dans une manière qui serait à l'avantage d'être décrite en détail ailleurs.
La syntaxe est comme suit:
Vous plus souvent le voir dans le contexte de la définition des classes imbriquées plutôt que les structures (un exemple commun pourrait être la définition d'un itérateur de type pour une classe de collection), mais je pensais que pour être complet, il serait intéressant de montrer ici.