Passage Java/C++ petite question :) - C++ - Programmation
Marsh Posté le 03-06-2007 à 09:10:03
Bah Object c'est pas une classe de base du C++ ...
En outre, en C++ tu dois gérer ta mémoire toi même - pas de GC-
donc si tu declares un Object* o, il va falloir l'instancier via new :
Code :
|
Mais, en général, une déclaration simple suffit :
Code :
|
Je te conseil de te renseigner sur la notion de pointeur et la gestion de la mémoire en C++, la difference en allocation dynamique et statique ainsi que le modèle objet sous-jacent de C++ qui est radicalement différent de celui de java (comprendre, y en a pas).
Ah et utilises un vrai compilo genre gcc (mingw si tu es sous windows) et pas cette bouse de Borland.
Marsh Posté le 03-06-2007 à 12:06:37
Joel F a écrit : Bah Object c'est pas une classe de base du C++ ... En outre, en C++ tu dois gérer ta mémoire toi même - pas de GC-
Mais, en général, une déclaration simple suffit :
Je te conseil de te renseigner sur la notion de pointeur et la gestion de la mémoire en C++, la difference en allocation dynamique et statique ainsi que le modèle objet sous-jacent de C++ qui est radicalement différent de celui de java (comprendre, y en a pas). Ah et utilises un vrai compilo genre gcc (mingw si tu es sous windows) et pas cette bouse de Borland. |
Pour l'instanciation j'ai pas vraiment besoin puisqu'en fait l'object est un attribut de ma classe qui sera initialisé via le constructeur qui prend un objet en parametre.
Bah en fait les pointeurs et la gestion de mémoire en C++ je connais mais là même si je fais
Code :
|
il me sort cette erreur.
Pour le compilo, hum j'ai pas le choix ^^ et c'est vrai qu'il est merdique mais bon je suis en stage et j'arrive sur un projet déjà existant qui a toujours été compilé avec Borland...
Donc en gros ceci devrait marcher :
Code :
|
Et pourtant chez moi ca pose problème
Et là c'est quand j'utilise les pointeurs ^^ :
Marsh Posté le 03-06-2007 à 12:31:32
the_phoenix2 a écrit : |
non, la classe Object n'existe pas.
Marsh Posté le 03-06-2007 à 12:58:24
the_phoenix2 a écrit : Pour l'instanciation j'ai pas vraiment besoin puisqu'en fait l'object est un attribut de ma classe qui sera initialisé via le constructeur qui prend un objet en parametre. |
On vient de te dire que Object n'existe pas en C++
zut : grillaid
Marsh Posté le 03-06-2007 à 13:29:13
erff oki, j'avais rien compris encore, dslé ^^
Mais alors comment puis je faire parce que j'utilisais un object pour être generique et pouvoir y mettre n'importe quoi et là je vois pas trop comment faire ^^
Marsh Posté le 03-06-2007 à 13:33:37
fais une classe générique ou utilise boost::variant ou utilise un schema polymorphe à base d'héritage de classe selon tes besoins.
Et je réitére mon commentaire N°1 : apprends à faire du C++ et oublie JAVA
Marsh Posté le 03-06-2007 à 13:40:13
ouki merci
Bah j'essai doucement de passer au C++, mais le passage Java -> C++ est pas forcément evident sachant que Java nous prends pas mal par la main ^^
Je regrette parfois de ne pas avoir commencer par le C++, ca aurait été sans doute plus logique mais j'ai pas vraiment eu le choix
Marsh Posté le 03-06-2007 à 14:33:03
the_phoenix2 a écrit : ouki merci |
Je ne connais pas ton projet, mais de toutes façons il est improbable qu'utiliser un Object serait une bonne idée même si tu étais en Java.
Edit : J'ai jeté un coup d'oeil à ta capture d'écran : tu fais juste un test vite fait "hors projet", je retire ma remarque.
Marsh Posté le 03-06-2007 à 18:42:56
boulgakov a écrit : Je ne connais pas ton projet, mais de toutes façons il est improbable qu'utiliser un Object serait une bonne idée même si tu étais en Java. |
Oui sur la capture c'est un juste un test.
Sinon dans mon projet, j'utilise les graphes et la classe object m'était utile dans le sens ou à chaque sommet j'attributs un object pour pouvoir y stocker ce que je veux et être le plus général et évolutif possible, stout
Marsh Posté le 03-06-2007 à 20:06:37
une interface commune devrait marcher normalement. Enfin c'est le but de la POO il me semble
Marsh Posté le 04-06-2007 à 16:01:39
the_phoenix2 a écrit : Sinon dans mon projet, j'utilise les graphes et la classe object m'était utile dans le sens ou à chaque sommet j'attributs un object pour pouvoir y stocker ce que je veux et être le plus général et évolutif possible, stout |
C'est mal !
(Mais bon si ça marche )
Marsh Posté le 03-06-2007 à 03:13:33
Bonjour,
Alors voilà j'ai l'habitude de programmer en java et je me suis mis au c++ depuis quelques temps, tout se passait bien jusqu'à aujourd'hui.
Voilà en java quand je déclare une variable de type Object je fais ceci : Object o;
Alors en C++, je pensais qu'il suffisait de faire Object* o seulement j'ai le droit a une erreur
"...Type name expected
...Declaration missing"
Et j'avoue que je ne comprends pas ^^
Donc si quelqu'un pouvait m'éclairer ca serait sympa
Pour info j'utilise le compilo Borland C++ 5.5
Message édité par the_phoenix2 le 03-06-2007 à 03:15:10