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 :

question sur l'hértage


Sujet :

C++

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    116
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 116
    Points : 100
    Points
    100
    Par défaut question sur l'hértage
    bonjour,
    j'ai un soucis d'ordre pratique:
    j'ai ceci :

    class A {
    ...
    };

    class B : public A {

    };

    comment faire si je veux declarer une instance de A et plusieurs instances de B qui modifient tous les attibuts de la meme mere ??

    merci

  2. #2
    Membre du Club Avatar de adil_suptem
    Inscrit en
    Décembre 2006
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 52
    Points : 58
    Points
    58
    Par défaut
    veuillez donner plus de details sur ce que vous voulez exactement ??

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2005
    Messages
    513
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 513
    Points : 416
    Points
    416
    Par défaut
    bah en fait chaque objet posséde ses propres attributs indépendament de tout les autres objets.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    class A
    { int a; ... }
     
    class B : public A
    { ... }
     
    B a;
    B b;
    ici les valeurs a.a et b.a ne sont pas "commune" et sont propres à l'objet.

    Si tu veux que tous les objets aient des attributs comment avec meme valeur il faut déclarer l'attribut static!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    class A
    { static int a; ... }
     
    class B : public A
    { ... }
     
    B a;
    B b;
    Ainsi l'attribut a est commun a tous les objets toute modification de la valeur de a est reporter dans tous les autres objets.

    Par exemple:
    a.a = 5;

    alors b.a vaut 5 également. Et si tu modifie la valeur de a dans l'objet b, la valeur de a dans l'objet a est également modifier.
    Jérémy
    Ingénieur Conception et Développement

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    116
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 116
    Points : 100
    Points
    100
    Par défaut
    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
     
    class A {
    public:
    int i;
    };
     
    class B : public A {
     
    };
     
    int main()
    {
    A a;
    B b1;
    B b2;
     
    ...
    ...
     
    a.i = 1;
    cout << a.i << endl;
    b1.i = 2;
    cout << a.i << endl;
    b2.i = 3;
    cout << a.i << endl;
    }
    Console :
    >1
    >2
    >3
    comment faire si je veux declarer une instance de A et plusieurs instances de B qui modifient tous les attibuts de la meme mere ??

  5. #5
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2005
    Messages
    513
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 513
    Points : 416
    Points
    416
    Par défaut
    en déclarant l'attribut en question static
    Jérémy
    Ingénieur Conception et Développement

  6. #6
    Membre du Club Avatar de adil_suptem
    Inscrit en
    Décembre 2006
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 52
    Points : 58
    Points
    58
    Par défaut
    tu dois alors déclarer les champs comme des champs de la classe
    cela se fait en le déclarant static

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    116
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 116
    Points : 100
    Points
    100
    Par défaut
    merci .. j'étais en rain de réécrire la question quand tu m'as répondu :-)

    merci beaucoup

Discussions similaires

  1. [debutant] Questions sur 1 futur projet
    Par cyrull22 dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 28/04/2003, 21h49
  2. Quelques questions sur le TWebBrowser...
    Par CorO dans le forum Web & réseau
    Réponses: 3
    Dernier message: 17/01/2003, 21h23
  3. Question sur les handles et les couleurs...
    Par MrDuChnok dans le forum C++Builder
    Réponses: 7
    Dernier message: 29/10/2002, 08h45
  4. Réponses: 2
    Dernier message: 11/08/2002, 21h27
  5. question sur les message box !
    Par krown dans le forum Langage
    Réponses: 7
    Dernier message: 02/08/2002, 16h11

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