cs_brian85
Messages postés18Date d'inscriptionvendredi 5 janvier 2007StatutMembreDernière intervention26 juin 2008
-
5 janv. 2007 à 16:57
cs_brian85
Messages postés18Date d'inscriptionvendredi 5 janvier 2007StatutMembreDernière intervention26 juin 2008
-
6 janv. 2007 à 18:01
Bonjour, je suis débutant, j'ai suivi quelques tutos du site du zéro qui sont très bien faits et pour aller plus loin, je me frotte aux classes, et là je commence (déjà) à butter avec un code tout con:
Je code avec code::blocks et avec ce code ridiculement petit quand je compile il me dit:
error: expected constructor, destructor, or type conversion before '->' token
Plizz Help ! [Javascript:Insert_Emoticon('/imgs2/smile_sad.gif'); ]
Merci d'avance pour cette question qui peut vous sembler con mais bon bon je suis au bon endroit pour poster ça je pense ?
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 6 janv. 2007 à 14:04
Pour pouvoir appeler tes méthodes, tu dois les mettre en public (elle étaient en private).
Le Avion:: est a mettre seulement si tu définis tes méthodes en dehors de la classe
av2 n'était pas initialisé. Tu peux l'initialiser en faisant new avion.
Il reste un truc: la mémoire allouée dans init nest pas libérée
Voila un exemple complet qui devrait compiler et s'exécuter sans erreur:
#include
using namespace std;
class Avion {
private:
char _immatriculation[6], *_type;
float _poids;
void _erreur(char *message);
cs_brian85
Messages postés18Date d'inscriptionvendredi 5 janvier 2007StatutMembreDernière intervention26 juin 2008 6 janv. 2007 à 13:34
Désolé mais cet exemple est identique à ce que j'ai trouvé dans un cours d'un iut alors bon je t'ai pas obligé à me répondre luthor si des débutants qui viennent de trouver comment ça fonctionne me répondent ça me va amplement... Te force pas vraiment c pas la peine !
pour ceux que ça intéresse de corriger mon code pour que je puisse progresser le voici:
#include
using namespace std;
class Avion {
public :
private :
char _immatriculation[6], *_type;
float _poids;
void _erreur(char *message);
Ce code donne exactement la même erreur lorsque je compile, voilà je suis bien sur un forum de débutant donc je pose des questions de débutant auxquelles je n'ai pas trouvé de réponse, donc ceux que ça fatigue... eh bien ne vous fatiguez pas mais c'est désagréable d'être aussi mal acceuilli sur un forum [Javascript:Insert_Emoticon('/imgs2/smile_angry.gif'); ]
Merci d'avance à ceux qui se rappellent encore de leurs débuts.
cs_brian85
Messages postés18Date d'inscriptionvendredi 5 janvier 2007StatutMembreDernière intervention26 juin 2008 6 janv. 2007 à 15:07
Je te remercie beaucoup ton code compile et fonctionne à merveille je vais pouvoir franchir ce cap grâce à ton aide il ne me reste plus qu'a étudier cela en détail merci.
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 6 janv. 2007 à 16:59
Si tu ne fournis pas de constructeur, il y a un constructeur par défaut qui est utilisé pour contruire les objets (qui construit tous les objets de ta classe avec leur constructeur par défaut).
Par contre, si tu crées un autre constructeur (prenant des paramètres), le constructeur par défaut n'est plus disponible (il faut l'écrire à la main).
Parfois aussi on est obligé de définir un constructeur (par exemple si la classe mère n'a pas de constructeur sans paramètres).