Comment faire pour qu'un objet soit global - C++ - Programmation
Marsh Posté le 12-06-2004 à 07:51:54
Tu t'y prends mal.
La durée de vie d'une variable est entierement déterminée par l'endroit ou elle est déclarée. Si tu déclares un objet dans le corps d'une fonction il ne pourra pas etre global.
Tu dois utiliser un pointeur de type vehicle ( la classe de base ) qui lui doit etre global. Dans ton menu, tu fais des new avec le type correspondant. Exemple :
Code :
|
Marsh Posté le 12-06-2004 à 09:34:52
mais putain c'est juste pour lui montrer! Evidemment qu'il faut pas utiliser une fonction globale et encore moins des nombres magiques... mais je vais pas m'emmerder a lui pondre du code irréprochable alors que je veux juste lui faire comprendre le principe d'une fabrique!
Le code que j'ai posté n'est en aucun cas destiné a etre copié-collé et encore moins compilé!
Marsh Posté le 12-06-2004 à 09:35:48
ben ne lui montre pas quelque chose de mauvais, abstiens toi
Marsh Posté le 12-06-2004 à 10:07:31
y a deja eu un thread sur le singleton ou j'ai donner du code.
Marsh Posté le 12-06-2004 à 10:12:51
Taz a écrit : ben ne lui montre pas quelque chose de mauvais, abstiens toi |
mauvais? oui, il est clair que je ne me permettrais pas d'écrire du code comme ca dans un quelconque projet.
Maintenant, mon but, c'est pas de lui écrire du code a sa place, c'est de lui faire comprendre l'idée qu'il y a derriere ce code. Et en ce sens, ce code n'est pas mauvais.
Apres c'est juste une question de savoir s'il faut donner du code pret a l'emploi ou s'il faut laisser l'autre chercher un peu.
Marsh Posté le 12-06-2004 à 10:18:55
et ben il a rien compris justement. ton code est mauvais, exemple ou pas. ça sert à rien de passer d'une erreur à une autre.
Marsh Posté le 12-06-2004 à 10:22:18
Bon, ben dans ce format la, ca te convient mieux?
Debut fonction de création de vehicules
faire un switch sur le type de véhicule désiré
instancier un objet en utilisant new (type de véhicule désiré)
renvoyer l'addresse de ce nouvel objet a l'appelant
Fin fonction de création de vehicules
Marsh Posté le 12-06-2004 à 10:59:40
N'empeche que... a la relecture du titre du topic, je comprends pourquoi j'avais fait cette "erreur". Apres tout, c'est ce qu'il voulait!
Marsh Posté le 12-06-2004 à 13:11:53
merci de toutes vos réponses
en fait je my étais pris comme un pieds
javais définis
Code :
|
dans la méthode void ini_ut(); qui est apelé dans le sous-menu
je vais rectifier ca
EDIT Forcément ca marche bcp mieux lol, par contre quand en me levant j'ai vu que vous parliez de singleton pour mon petit probleme j'étais pas rassuré
Marsh Posté le 12-06-2004 à 05:11:00
Bonsoir, ou plutot bonjour
j'ai un petit probleme
je voudrais savoir comment faire pour qu'un objet qu'on instancie dans une fonction soit accessible dans tout le programme..
jexplique mon prob
dans mon main() j'ai un premier menu avec un switch dessus
sur le cas1 japelle une fonction qui maffiche un deuxieme menu
dans ce deuxieme menu je choisi le type de vehicule que je veux créer
une fois le choix fait, j'ai un switch qui apelle la fonction corespondante au choix
par exemple le choix1 apelle une fonction qui va me demander la saisie des infos pour un utilitaire et apeller le constructeur particulier
l'objet sera donc accessible que dans cette fonction mais dès quon en sort il meurt...
or je voudrais y accéder dans le main()
Merci d'avance
(je suis un gros noob en c++ )
Message édité par pinpoy le 12-06-2004 à 05:12:15