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 :

programme d'heritage multiple


Sujet :

C++

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 4
    Points : 6
    Points
    6
    Par défaut programme d'heritage multiple
    salut,
    merci de votre aide ,j'ai pu le resoudre.
    voici mon programme résolue:
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    #include<iostream>
    #include <stdlib.h> // pour NULL
    using namespace std;
    struct element // structure d'un élément de liste
    { element * suivant ; // pointeur sur l'élément suivant
    void * contenu ; // pointeur sur un objet quelconque
    } ;
    class liste
    { element * debut ; // pointeur sur premier élément
    element * courant ; // pointeur sur élément courant
    public :
    liste () // constructeur
    { debut = NULL ;
    courant = debut ; // par sécurité
    }
    ~liste () ; // destructeur
    void ajoute (void *) ; // ajoute un élément en début de liste
    void * premier () // positionne sur premier élément
    { courant = debut ;
    if (courant != NULL) return (courant->contenu) ;
    else return NULL ;
    }
    void * prochain () // positionne sur prochain élément
    { if (courant != NULL)
    { courant = courant->suivant ;
    if (courant != NULL) return (courant->contenu) ;
    }
    return NULL ;
    }
    int fini () 
    { return (courant == NULL) ; 
    }
    } ;
    liste::~liste ()
    { element * suiv ;
    courant = debut ;
    while (courant != NULL )
    { suiv = courant->suivant ; 
    delete courant ; 
    courant = suiv ; 
    }
    }
    void liste::ajoute (void * chose)
    { element * mery = new element ;
    mery->suivant = debut ;
    mery->contenu = chose ;
    debut = mery ;
    }
    class point
    { int x, y ;
    public :
    point (int abs=0, int ord=0) { x=abs ; y=ord ; }
    void affiche () { cout << "Coordonnees : " << x << " " << y << "\n" ; }
    } ;
    class liste_points : public liste, public point
    { public :
    liste_points ():point(){} ;
    void affiche () ;
    } ;
    void liste_points::affiche ()
    { point * ptr = (point * )premier() ;
    while ( ! fini() ) 
    { ptr->affiche () ; 
    ptr = ( point* )prochain() ; 
    }
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    main()
    { liste_points l ;
    point a(9,8); point b(1,9); point c(8,8) ;
    l.ajoute (&a) ; l.affiche () ; cout << "---------\n" ;
    l.ajoute (&b) ; l.affiche () ; cout << "---------\n" ;
    l.ajoute (&c) ; l.affiche () ; cout << "---------\n" ;
    system("pause");
    }

  2. #2
    Membre chevronné
    Avatar de Joel F
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2002
    Messages : 918
    Points : 1 921
    Points
    1 921
    Par défaut
    et genre nous filer les erreurs de compilation non ?

    ta classe liste_point ne veut strictement rien dire. Tu ne sais visiblement pas ce qu'est un pointeur. Conseil: relis ton cours de C

  3. #3
    Expert confirmé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2007
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 895
    Points : 4 551
    Points
    4 551
    Par défaut
    Il faudrait que tu édite ton message pouyr rajouter des balises "code". Parce que là, c'est compliqué à suivre
    [FAQ des forums][FAQ Développement 2D, 3D et Jeux][Si vous ne savez pas ou vous en êtes...]
    Essayez d'écrire clairement (c'est à dire avec des mots français complets). SMS est votre ennemi.
    Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Café. C'est dépassé tout ça.
    Et si vous êtes sages, vous aurez peut être vous aussi la chance de passer à la télé. Ou pas.

    Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.

  4. #4
    Membre chevronné
    Avatar de Joel F
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2002
    Messages : 918
    Points : 1 921
    Points
    1 921
    Par défaut
    Le drame se joue ici :

    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
     
    class liste_points
    {
       int ptr;
    public : class liste ; 
    public : class point ;
    public :
       liste_points () {}
       void affiche() ;
    } ;
     
    void liste_points::affiche()
    { 
       point * ptr = (point *).premier() ;
       while ( ! fini() ) { ptr->affiche () ; ptr = (point *).prochain() ; }
    }
    pourquoi un int ptr ? et qu'est-ce que cet syntaxe (point *).premier() ?

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 4
    Points : 6
    Points
    6
    Par défaut
    merci à vous.
    le problème est résolu

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

Discussions similaires

  1. heritage multiple
    Par r0d dans le forum C++
    Réponses: 6
    Dernier message: 21/04/2006, 09h40
  2. [POO] Héritage multiple Parent
    Par djshaker dans le forum Langage
    Réponses: 15
    Dernier message: 15/03/2006, 17h35
  3. Programmation par unités multiples
    Par Mimi Bulles dans le forum Langage
    Réponses: 6
    Dernier message: 09/06/2005, 23h08
  4. Réponses: 9
    Dernier message: 25/05/2005, 18h17
  5. [Kylix] heritage multiple et interfaces :(
    Par le_barbu dans le forum EDI
    Réponses: 4
    Dernier message: 26/01/2004, 19h30

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