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"); }
Partager