Structure ou classe?

Structure ou classe? - C++ - Programmation

Marsh Posté le 18-05-2005 à 11:20:38    

Salut,
C'est encore moi et le C++, j'ai une question fondamentale.
Quels sont les avantages et les inconvénients à créer une structure ou une classe?
Dans quels cas vaut-il mieux utiliser l'un plutôt que l'autre?
 
Merci ;)


Message édité par AsTro le 18-05-2005 à 11:43:23
Reply

Marsh Posté le 18-05-2005 à 11:20:38   

Reply

Marsh Posté le 18-05-2005 à 11:41:58    

c'est la même chose si ce n'est la visibilité par défaut des membres et de l'héritage.

Reply

Marsh Posté le 18-05-2005 à 11:44:11    

Ok

Reply

Marsh Posté le 18-05-2005 à 14:59:39    

perso, je préfére utiliser class parceque ces membres sont par defaut "private" mais bon que tu utilise l'un ou l'autre a peu d'importance


Message édité par blastman le 18-05-2005 à 15:06:52

---------------
http://www.blastmanu.info
Reply

Marsh Posté le 18-05-2005 à 15:21:50    

Si je ne m'abuse, une classe est définie par référence, tandis qu'une structure l'est par valeur.

Reply

Marsh Posté le 18-05-2005 à 15:24:21    

Je crois que tu t'abuses alors :)

Reply

Marsh Posté le 24-05-2005 à 19:16:45    

007seb a écrit :

Si je ne m'abuse, une classe est définie par référence, tandis qu'une structure l'est par valeur.


rien à voir.
Comme l'a dit Taz, struct et class sont presque synonimes en C++.
 
Entre pratique les références et les class ça "fait" C++ alors que les struct et les passages par valeur ça "fait" C, d'où la confusion.
 

Code :
  1. class A { int n; };
  2. struct B { int n; };
  3. void f(A);
  4. void g(B& );


 
ce code est légal en C++, A est une classe passée par valeur avec f, B est une structure passée par référence avec g

Reply

Marsh Posté le 24-05-2005 à 19:18:58    

007seb a écrit :

Si je ne m'abuse, une classe est définie par référence, tandis qu'une structure l'est par valeur.


 
Non, c'est C# ça :o


---------------
JE JE SUIS LIBERTINEEEEEEEEEEE JE SUIS UNE CATINNNNNNNNN §§§§§§§§
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed