IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

PB de declaration de class


Sujet :

C++

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    81
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 81
    Par d�faut PB de declaration de class
    Salut tout le monde

    Alors j'ai un fichier .H et .cpp que voici

    Le .h

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    #ifndef RECTANGLE.H
    #define
    class rectangle
    {
    Public :
    	//Constructeur par defaut
    	rectangle():d_x1(0),d_y1(0),d_x2(0),d_y2(0){};
     
    	//Constructeur d'un rectangle à partir de X1,Y1,X2 et Y2
    	rectangle(int X1, int Y1, int X2, int Y2);
    Private :
     
    	int d_x1,d_y1,d_x2,d_y2;
     
    	//fonction ordonner qui permet de mettre le point X1,Y1 en haut a gauche et X2,Y2 en bas a droite
    	void ordonner();
     
     
    };
    #endif

    Le .cpp
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    #include "RECTANGLE.H"
    #include <iostream>
     
    //Constructeur par defaut d'un rectangle
    rectangle::rectangle():d_x1(0),d_y1(0),d_x2(0),d_y2(0){};
     
    //Constructeur d'un rectangle à partir de X1,Y1,X2 et Y2
    rectangle::rectangle(int X1, int Y1, int X2, int Y2):d_x1(X1),d_y1(Y1),d_x2(X2),d_y2(Y2){};
     
    //fonction ordonner qui permet de mettre le point X1,Y1 en haut a gauche et X2,Y2 en bas a droite
    void rectangle::ordonner()
    {
    	int auxx,auxy;
    	if(d_x1 > d_x2 && d_y1 < d_y2)
    	{
    		auxx=d_x1;
    		d_x1=d_x2;
    		d_x2=auxx;
    		auxy=d_y1;
    		d_y1=d_y2;
    		d_y2=auxY;
    	}
    	if(d_x1 > d_x2)
    	{
    		auxx=d_x1;
    		d_x1=d_x2;
    		d_x2=auxx;
    	}
     
    	if(d_y1<d_y2)
    	{
    		auxy=d_y1;
    		d_y1=d_y2;
    		d_y2=auxy;
    	}
    }
    J'ai un probleme car quand je compile il me dit que la class n'a pas de constructeur... je ne vois pas ou est l'erreur si quelqu'un pourrait m'�clairer la dessus...

    Merci d'avance pour vos r�ponses
    stan314

  2. #2
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    D�tails du profil
    Informations personnelles :
    �ge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par d�faut
    Je ne sais pas si �a viens de l�, mais tu impl�mentes ton constructeur par d�faut � la fois dans le .h et le .cpp...

    Tu pourrais nous donner le message pr�cis du compilateur ?

  3. #3
    Membre chevronn�
    Inscrit en
    Ao�t 2004
    Messages
    556
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2004
    Messages : 556
    Par d�faut
    Citation Envoy� par Eusebe
    Je ne sais pas si �a viens de l�, mais tu impl�mentes ton constructeur par d�faut � la fois dans le .h et le .cpp...

    Tu pourrais nous donner le message pr�cis du compilateur ?
    J'ai pens� la m�me.

  4. #4
    R�dacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de donn�es
    Inscrit en
    Juin 2004
    Messages
    5 840
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    �ge : 42
    Localisation : France

    Informations professionnelles :
    Activit� : Administrateur de base de donn�es

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par d�faut
    Bonjour,

    Citation Envoy� par stan314
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    #ifndef RECTANGLE.H
    #define
    class rectangle
    Il n'en manquerai pas un bout par hasard ? Et les points dans les noms de constantes, j'ai un (tr�s gros) doute utilise plutot le underscore '_'

  5. #5
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    81
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 81
    Par d�faut
    Merci pour vos reponse effectivement je me suis tromper dans mon .h et .cpp
    je vous donne la nouvelle version car ca ne fonctionne tjs pas...

    le .h

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    #ifndef RECTANGLE_H
    #define RECTANGLE_H
    class rectangle
    {
    Public :
    	//Constructeur par defaut
    	rectangle();
     
    	//Constructeur d'un rectangle à partir de X1,Y1,X2 et Y2
    	rectangle(int X1, int Y1, int X2, int Y2);
    Private :
     
    	int d_x1,d_y1,d_x2,d_y2;
     
    	//fonction ordonner qui permet de mettre le point X1,Y1 en haut a gauche et X2,Y2 en bas a droite
    	void ordonner();
     
     
    };
    #endif
    le .cpp

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    #include "RECTANGLE.H"
    #include <iostream>
     
    //Constructeur par defaut d'un rectangle
    rectangle::rectangle():d_x1(0),d_y1(0),d_x2(0),d_y2(0){};
     
    //Constructeur d'un rectangle à partir de X1,Y1,X2 et Y2
    rectangle::rectangle(int X1, int Y1, int X2, int Y2):d_x1(X1),d_y1(Y1),d_x2(X2),d_y2(Y2){};
     
    //fonction ordonner qui permet de mettre le point X1,Y1 en haut a gauche et X2,Y2 en bas a droite
    void rectangle::ordonner()
    {
    	int auxx,auxy;
    	if(d_x1 > d_x2 && d_y1 < d_y2)
    	{
    		auxx=d_x1;
    		d_x1=d_x2;
    		d_x2=auxx;
    		auxy=d_y1;
    		d_y1=d_y2;
    		d_y2=auxY;
    	}
    	if(d_x1 > d_x2)
    	{
    		auxx=d_x1;
    		d_x1=d_x2;
    		d_x2=auxx;
    	}
     
    	if(d_y1<d_y2)
    	{
    		auxy=d_y1;
    		d_y1=d_y2;
    		d_y2=auxy;
    	}
    }
    et voici ce que m'affiche le compilateur :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    c:\Documents and Settings\Stan\Mes documents\Visual Studio Projects\Rectangle\Rectangle.h(7): error C2514: 'rectangle' : la classe n'a aucun constructeur
    Voila merci pour votre aide

    stan314

  6. #6
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    Et en mettant public et private tout en minuscules?
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  7. #7
    R�dacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de donn�es
    Inscrit en
    Juin 2004
    Messages
    5 840
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    �ge : 42
    Localisation : France

    Informations professionnelles :
    Activit� : Administrateur de base de donn�es

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par d�faut
    Citation Envoy� par stan314
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    rectangle::rectangle():d_x1(0),d_y1(0),d_x2(0),d_y2(0){};
     
    //Constructeur d'un rectangle à partir de X1,Y1,X2 et Y2
    rectangle::rectangle(int X1, int Y1, int X2, int Y2):d_x1(X1),d_y1(Y1),d_x2(X2),d_y2(Y2){};
    Les points virgules � la fin des blocs de fonctions sont en trop.

  8. #8
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    D�tails du profil
    Informations personnelles :
    �ge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par d�faut
    Citation Envoy� par M�dinoc
    Et en mettant public et private tout en minuscules?
    C'est bien �a... Et dans ta fonction ordonner(), tu as aussi un "auxY" au lieu d'un auxy...

  9. #9
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    81
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 81
    Par d�faut
    Ok tout fonctionne...
    Merci a tous pour votre aide (ca faisait longtemps que j'avais plus touc� au c++ faut que je mi remmette )
    @+

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 7
    Dernier message: 05/07/2010, 17h58
  2. R�ponses: 2
    Dernier message: 29/03/2007, 14h08
  3. R�ponses: 15
    Dernier message: 21/01/2007, 22h47
  4. [POO] Déclaration de classe selon une variable
    Par Micha�l dans le forum Langage
    R�ponses: 1
    Dernier message: 07/01/2006, 18h33
  5. Declar� en classe de base, instanci� en sous classe
    Par jobigoud dans le forum Langage
    R�ponses: 3
    Dernier message: 14/11/2005, 10h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo