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 :

Comment créer une class héritée d'une existante?


Sujet :

C++

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2003
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 135
    Points : 66
    Points
    66
    Par défaut Comment créer une class héritée d'une existante?
    Bonjour,

    voilà je veux créer une class MyProgressBar hérité de la Class TProgressBar mais j'ai des soucis concernant le constructeur/ destructeur
    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
     
    class MyProgressBar : public TProgressBar   // Héritée de la Class TProgressBar
    {
     
     // Déclaration en public-> accessible sans passer par la fonction membre
        public:
           int           IndexItem;
           int           Columns;
     
     
     // fonction membre
     // CONSTRUCTEUR
        __fastcall MyProgressBar(?) : TProgressBar(?);
     // Destructeur
        __fastcall ~MyProgressBar(?): ~TProgressBar(?);
     // Methode
        __fastcall Add(int index); 
    };
     // Methodes
        __fastcall MyProgressBar::MyProgressBar(?,  int init)
        {
             new TProgressBar(this); // <- quoi mettre?
             Left       = 0;
             Position  = init;
             MyProgressBar::IndexItem = 0;
        }
     
     // Methode du DESTRUCTEUR
    ???
     
     // Methode Update
        __fastcall MyProgressBar::Add(int Index)
        {
            MyProgressBar::IndexItem += Index;
        }
    Bref je ne sais pas quoi mettre dans les ?
    Merci de m'aider!
    ;-)

  2. #2
    Membre éclairé Avatar de mchk0123
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    816
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 816
    Points : 844
    Points
    844
    Par défaut
    Tout dépend de la définition déjà existante de TProgressBar. Le mieux est d'aller regarder le fichier entête C++ ou est définie la classe TProgressBar (généralement situé dans un répertoire comme "<chemin d'installation>/include/ProgressBar.h".

    Mais typiquement, pour une GUI les classes graphiques s'attendent à être construites en passant en argument un pointeur vers l'objet graphique conteneur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    __fastcall MyProgressBar(TObject *aOwner) : TProgressBar(aOwner);
    ...
    Cet exemple est pour du code C++ Builder. Sur d'autres environnement, ça peut être différent.
    Avant de poster un message .
    Quand vous avez la réponse à votre question, n'oubliez pas de cliquer sur .

Discussions similaires

  1. [Débutant] Lire une classe héritée dans une classe de base
    Par BasicZX81 dans le forum VB.NET
    Réponses: 7
    Dernier message: 06/12/2013, 15h37
  2. Réponses: 12
    Dernier message: 18/01/2013, 13h15
  3. Comment récupérer la classe window d'une application wpf depuis une application ext
    Par rsiwpf dans le forum Windows Presentation Foundation
    Réponses: 10
    Dernier message: 14/10/2008, 15h10
  4. Réponses: 1
    Dernier message: 14/07/2008, 11h17
  5. Réponses: 8
    Dernier message: 20/07/2007, 14h28

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