Peut C++ struct ont des fonctions de membre?

J'ai été assez confus au sujet de la différence entre la structure et de la classe comme il me semblait les voir utilisés pour à peu près les mêmes choses. J'ai googlé les différences et la seule réponse que j'ai vu, c'est que les structures ont des membres par défaut et les classes ont des membres privés par défaut. Cependant, mes professeurs n'ont vient de me dire que les structures ne peuvent pas contenir des fonctions membres. Mais j'ai vu beaucoup de discussions sur l'internet où les gens comprennent les fonctions de membre dans les structures et spécifiquement dire que c'est correct de le faire.

Mes professeurs semblaient inflexible sur le fait que les structures, par définition, ne peut pas avoir les fonctions, de sorte que ce qui se passe? La seule chose que je pouvais penser, c'est que peut-être que le compilateur changements de fonctions au sein d'une structure à autre chose, alors que techniquement ils ne contiennent pas de fonctions... il ya une réponse claire à ces contradictions?

  • Peut-être qu'ils signifient C.
  • Si c'est censé être un C++ sûr, de le déposer immédiatement.
  • Pointez votre conférenciers de ce document. isocpp.org/files/papers/N3797.pdf -- Le projet de la norme C++, chapitre 9. Les mots de la classe et de la structure sont principalement utilisés de façon interchangeable. Le paragraphe 3 a même un exemple d'une structure à une fonction membre.
  • la seule vraie différence est que, par défaut, struct l'héritage est public (comme c'est par défaut de l'accès des membres), tandis que la classe est privée. Autre que cela, ils sont EXACTEMENT les mêmes. @aschepler, sur place!
InformationsquelleAutor Sam | 2014-06-13