Struct en C++

Résolu
Bonjour,
est ce que les attributs d'une structure sont par défaut privé ou public?
meme question pour class?
merci
Configuration: Windows Vista
Firefox 3.0.10

2 réponses

  1. Contributeur
    En effet, les structures sont publiques par défaut, contrairement aux classes. Mais je ne pense pas que ce soit la seule différence.
    Mes souvenirs sont imprécis, mais je ne pense pas que les structures permettent l'héritage (dans les classes dérivées, si), la surcharge (le même nom à des fonctions différentes) et autres possibilités avancées du C++ et des classes.
    0
    1. Pour remettre tes souvenirs dans le droit chemin, fais un essai en remplaçant 'class' par 'struct'... ;-)
      Nota: on parle de structures en C++ et non pas en C.
      Bonne après-midi.
      0
    2. Contributeur
      Les struct et les class en C++ sont beaucoup plus similaires qu'on a tendance à le croire.
      Il y a en effet la visibilité par défaut qui change (pareil pour l'héritage).
      On peut en rajouter également une autre, le compilateur n'accepte pas d'utiliser struct en tant que template.
      0
    3. Contributeur
      @loupiusÇa fait des années que je n'ai plus programmé, je ne vais pas m'y remettre maintenant. Merci quand même.
      Mais ta note m'a intrigué, et j'ai vérifié : les structures existent en C : http://informatique.hepmbc.be/cours/rappel/structdefdecl.php
      à la différence des classes qui n'existent qu'en C++ et objective-C. ;-)
      0
    4. Contributeur
      @Non2Bien sûr que ça existe les struct en C Et heureusement ^^. Mais ce que disait loupius, c'était qu'il parlait des struct en C++ et non des struct en C (vu qu'il y a une différence d'implémentation).
      0
    5. Contributeur
      @fiddyAh oui, je n'étais pas sur la bonne longueur d'ondes. Ok.
      0
  2. class -> private
    struct -> public
    C'est d'ailleurs la seule différence entre les deux.
    Bonne continuation.
    0