Les Programmeurs Fous ! Index du Forum Les Programmeurs Fous !
Programmation 3D
 
 FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres   Groupes d'utilisateursGroupes d'utilisateurs   S'enregistrerS'enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

[C++] La rox-attitude avec le mot-clé union

 
Poster un nouveau sujet   Répondre au sujet    Les Programmeurs Fous ! Index du Forum -> C/C++
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
Houlala



Inscrit le: 03 Juin 2008
Messages: 6

MessagePosté le: Mar Juin 03, 2008 22:20    Sujet du message: [C++] La rox-attitude avec le mot-clé union Répondre en citant

Peuple codeur,

Vous en avez marre de coder 300000 classes pour gérer vos objets qui se ressemblent ? Vous en avez marre de faire 30 fichiers pour la classe rgb, vecteur 3d, point 3d, coordonnées de textures, etc... ?

Le mot clé union est fait pour vous. Pour cela, il faut declarer ceci dans votre classe :

Code:

class entite3d
{
   ...
   union
   {
      struct { float x, y, z; };
      struct { float r, g, b; };
      struct { float t, u, v; };
      float tab[3];
   };
   ...
};


Maintenant, les 3 structures et le tableau occupent le meme emplacement mémoire et on peut avoir la classe en déclarant un objet et utiliser les champs x, y z ou r, g, b, etc... :

Code:

entite3d e; // tout revient au meme
e.x = 1;
e.r = 1;
e.t = 1;
e.tab[0] = 1;

_________________
No brain, no pain
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Les Programmeurs Fous ! Index du Forum -> C/C++ Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com