Classes

Classes - C++ - Programmation

Marsh Posté le 24-07-2008 à 10:27:10    

Est ce que je peux créer une nouvelle classe dans une méthode d'une autre classe ???

Reply

Marsh Posté le 24-07-2008 à 10:27:10   

Reply

Marsh Posté le 24-07-2008 à 10:30:14    

On va dire que tu veux instancier une classe, l'idée d'en créer une dans une méthode étant par trop farfelue pour être évoquée.
 
Et donc, oui, tu peux instancier des classes dans des méthodes. Au passage, je ne vois pas très bien où tu pourrais y arriver autrement.

Reply

Marsh Posté le 24-07-2008 à 10:43:04    

Elmoricq a écrit :

On va dire que tu veux instancier une classe, l'idée d'en créer une dans une méthode étant par trop farfelue pour être évoquée.


En java tu peux :o
 
En Python aussi :o


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 24-07-2008 à 10:51:57    

Au passage, je ne vois pas très bien où tu pourrais y arriver autrement
 
 
comment ça ??

Reply

Marsh Posté le 24-07-2008 à 11:14:26    

mathematica a écrit :

Au passage, je ne vois pas très bien où tu pourrais y arriver autrement
 
 
comment ça ??


 
Ben où veux-tu instancier une classe ailleurs que dans une méthode ?

Reply

Marsh Posté le 24-07-2008 à 11:18:36    

masklinn a écrit :


En java tu peux :o
 
En Python aussi :o


 
Possible, je suis un n00b en java et j'ai jamais touché à python. Ça sert à quoi ? Petites classes temporaires ? Ça lourdise pas trop le code de faire ça ? :??:

Reply

Marsh Posté le 24-07-2008 à 11:21:00    

Elmoricq a écrit :


 
Possible, je suis un n00b en java et j'ai jamais touché à python. Ça sert à quoi ? Petites classes temporaires ? Ça lourdise pas trop le code de faire ça ? :??:


En java, ça sert surtout parce qu'il n'y a pas de fonctions de première classe, donc on remplace ça par des classes (anonymes ou non).
 
En Python, c'est parfois utilisé au niveau classe (créer une classe dans une autre classe) pour stocker des métadonnées. Par contre une classe dans une méthode, je me souviens pas trop l'avoir vu.


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 24-07-2008 à 11:26:21    

[:romf]

Reply

Marsh Posté le 24-07-2008 à 11:35:35    

oui oui c ça.
 
avez vous des supports des courts qui pourront m'indiquer comment manipuler des vector d'objets ..
 
en fait j'ai créer une classe et j'ai créer un tableau, les éléments du tablement sont de tupe ma classe, cependant je souhaite ajouter dans mon tableau des éléments de type ma classe ... comment faire ???
 
je voudrais aussi plus tard accéder a l'élément de mon tbleau sacaht que c'est des classes, comment faire aussi ??
 
je ne veux pas copier bêtement le code, j'ai bien envie de comprendre la structure des objets que je manipule et quels sont toutes les manipulations que je peux faire dessus.

Reply

Marsh Posté le 24-07-2008 à 11:39:40    

Pour les vector, et pour le reste, tu peux regarder ici :
http://www.cplusplus.com/reference/stl/vector/
 
Ce site est très bien, je te conseille de le mettre en bookmarks. [:dawa]

Reply

Marsh Posté le 24-07-2008 à 11:39:40   

Reply

Marsh Posté le 24-07-2008 à 12:14:51    

merci pour votre réponse, mais vous conviendrez avec moi qu'il s'agit là d'un type particulier de vector, je ne cherche pas a manipuler juste des vectors mais plsutôt des vectors qui ont comme élément des objets (classes ) .... !!!
 
merci bcp de venir a mon aide.

Reply

Marsh Posté le 24-07-2008 à 13:37:23    

Euh, non, il ne s'agit pas là d'un type particulier de vector. Les vector utilisent des "templates" qui sont des types génériques, ce qui signifie que tu peux mettre tout ce que tu veux dedans : instances de classes et types de bases.
 
Une petite aide sur les templates : http://www.cplusplus.com/doc/tutorial/templates.html

Reply

Marsh Posté le 24-07-2008 à 13:50:20    

je vous remercie mais ça ne m'aide pas bcp tous ça. Un peu trop compliqué ! en plus c en anglais je ne comprend pas tous :(

Reply

Marsh Posté le 24-07-2008 à 13:56:02    

Exemple rapide pour illustrer.

 

Soit une classe foo :

Code :
  1. class foo { ... };
 

Tu as un vector de foo que tu appelles "bar" :

Code :
  1. vector<foo> bar;
 

Si tu veux ajouter une instance de "foo" dans "bar" :

Code :
  1. foo foobar;
  2. bar.push_back(foobar);
 

Tu veux parcourir ton vector :

Code :
  1. for(vector<foo>::iterator it = bar.begin() ; it != bar.end(); ++it) {
  2.    foo element_dans_bar = *it;
  3. }
 


etc.


Message édité par Elmoricq le 24-07-2008 à 14:56:43
Reply

Marsh Posté le 24-07-2008 à 14:27:41    

Révise les bases du langage.


---------------
You can't start a fire with moonlight
Reply

Marsh Posté le 28-07-2008 à 08:28:16    

Je vous remercie pour votre réponse.
 
Je souhaiterais savoir si cette écriture est correcte ?
 
monTableau[i][j][k] = pointeurDeMaClasse->LaMethodeDeMaClasse()
 
MaClasse *PointeurDeMaClasse

Reply

Marsh Posté le 28-07-2008 à 16:33:34    

sans savoir ce qui se cache derrière "monTableau" çà va être difficile de te répondre ;)

Reply

Marsh Posté le 04-08-2008 à 14:11:01    

oui oui oui ... tu as raison ... cette écriture est fausse ;)
 
car ts dépends du type de "monTableau"
 
merci  a vous !

Reply

Sujets relatifs:

Leave a Replay

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