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

Discussion :

Etendre une class QT

  1. #1
    Membre éclairé Avatar de guiyomh
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 328
    Par défaut Etendre une class QT
    Bojour un petit problème pour étendre une classe QT, cf voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #ifndef DOCKEXPLORER_H_INCLUDED
    #define DOCKEXPLORER_H_INCLUDED
     
    #include <QtGui/QDockWidget>
    #include <QtGui/QWidget>
    #include <QtCore/QString>
     
    class DockExplorer : public QDockWidget
    {
        public:
            DockExplorer(const QString &title, QWidget *parent = 0):QDockWidget(title,parent);
    };
     
    #endif // DOCKEXPLORER_H_INCLUDED
    Mais a mon avis c'est moi qui n'est pas bien compris comment étendre une class en C++ !
    Quelqu'un peut me filer un coup de main ?

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Salut. C'est un problème de c++
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DockExplorer(const QString &title, QWidget *parent = 0):QDockWidget(title,parent);
    :QDockWidget(title,parent); n'est as écrire qu'avec le corps de ta fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    DockExplorer(const QString &title, QWidget *parent):QDockWidget(title,parent)
    {
    //corps de la fonction
    };

  3. #3
    Membre éclairé Avatar de guiyomh
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 328
    Par défaut
    d'accord dans mon fichier DockExplorer.cpp,
    je fait ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #include "DockExplorer.h"
     
    DockExplorer::DockExplorer(const QString &title, QWidget *parent = 0):QDockWidget(title,parent)
    {
        //setWindowTitle(trUtf8("Exploreur"))
    }
    dans le Header je fais ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #ifndef DOCKEXPLORER_H_INCLUDED
    #define DOCKEXPLORER_H_INCLUDED
     
    #include <QtGui/QDockWidget>
    #include <QtGui/QWidget>
    #include <QtCore/QString>
     
    class DockExplorer : public QDockWidget
    {
        public:
            DockExplorer(const QString &title, QWidget *parent = 0);
    };
     
    #endif // DOCKEXPLORER_H_INCLUDED
    et j'appelle le tout comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    QDockWidget *dock2 = new DockExplorer("Palette 2", this);
        addDockWidget(Qt::RightDockWidgetArea, dock2);
    mais j'ai une erreur lors de la compilation :
    g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/local/Trolltech/Qt-4.4.0/mkspecs/linux-g++ -I. -I/usr/local/Trolltech/Qt-4.4.0/include/QtCore -I/usr/local/Trolltech/Qt-4.4.0/include/QtCore -I/usr/local/Trolltech/Qt-4.4.0/include/QtGui -I/usr/local/Trolltech/Qt-4.4.0/include/QtGui -I/usr/local/Trolltech/Qt-4.4.0/include -I. -I. -I. -o DockExplorer.o DockExplorer.cpp
    DockExplorer.cpp:3: erreur: default argument given for parameter 2 of «DockExplorer:ockExplorer(const QString&, QWidget*)»
    DockExplorer.h:11: erreur: after previous specification in «DockExplorer:ockExplorer(const QString&, QWidget*)»
    make: *** [DockExplorer.o] Erreur 1
    je comprends pas ?

  4. #4
    Membre Expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Par défaut
    Pas d'arguments par défaut dans une définition de fonction; uniquement dans la *déclaration*.

  5. #5
    Membre éclairé Avatar de guiyomh
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 328
    Par défaut
    tu peux expliquer, car j'ai essayer plein de truc et j'ai toujours des erreurs

  6. #6
    Membre Expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    int foo(int bar=0); // déclaration
     
    int foo(int bar) // définition
    {
       return bar+1;
    }

  7. #7
    Membre éclairé Avatar de guiyomh
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 328
    Par défaut
    ok tu voulais dire pas de valeur par defaut aux argument de la méthode dans la définition;

    j'avais pas compris lol

    //EDIT ----

    ça fonctionne merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Etendre une classe avec HttpServlet impossible
    Par SpeedOverflow dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 22/11/2011, 09h59
  2. Etendre une classe
    Par Invité dans le forum Langage
    Réponses: 5
    Dernier message: 07/03/2010, 17h56
  3. Etendre une classe
    Par xian21 dans le forum C#
    Réponses: 2
    Dernier message: 11/11/2008, 12h50
  4. Etendre une classe qui appartient a un package
    Par agent007se dans le forum Langage
    Réponses: 5
    Dernier message: 09/03/2007, 15h25
  5. [heritage] etendre une classe interne en dehors du package
    Par ChristopheH dans le forum Langage
    Réponses: 2
    Dernier message: 11/10/2004, 14h15

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