cheumani
Messages postés4Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention12 juillet 2008 12 juil. 2008 à 13:36
Peut-on adapter ton code source de manière à avoir un conteneur d'arbre de n'importe quoi?
Merci et bravo pour le génie.
cs_azkab
Messages postés22Date d'inscriptionmardi 18 février 2003StatutMembreDernière intervention29 juin 2004 30 avril 2004 à 15:04
merci vieuxLion.
azkab est une marque deposée elle a son copyright fo pa l'inserer dans tes exemples :P:)
merci encore une fois
cs_vieuxLion
Messages postés455Date d'inscriptionsamedi 26 octobre 2002StatutMembreDernière intervention 6 avril 20048 23 avril 2004 à 11:18
c'est une vieille syntaxe 'C'
typedef int(*PF)(char*)
sert à déclarer un "nouveau nom" PF plus court ;)) pour le type "pointeur sur une fonction qui prend un char * en argument et retourne un int" ((
Elle est utilisée ici pour une fonction C++
En général on l'utilise comme un type pour une variable.
Ca sert à définir une variable f qui pourra représenter tout à tour les fonctions f1 et f2. Par exemple
int f1(char*);
int f2(char*);
PF f = f1;
f("azkab);
f=f2;
f("azkab);
ou mieux, dynamiquement en cours du pgm...
cs_azkab
Messages postés22Date d'inscriptionmardi 18 février 2003StatutMembreDernière intervention29 juin 2004 23 avril 2004 à 09:13
salut tt le monde
vieuxlion peux tu m expliquer cette ligne de commande stp
"typedef void (Liste::*PFN)(Element *, bool&, Element* p=NULL);"
quanganh
Messages postés4Date d'inscriptionjeudi 12 février 2004StatutMembreDernière intervention12 février 2004 12 févr. 2004 à 06:04
3.1. Ecriture d’une liste chaînée
Le C++ est un langage modulaire qui permet d’écrire des classes ré-utilisables. Si l’on doit réaliser une liste chaînée d’étudiants, une liste chaînée d’enseignants, etc., il serait peut-être intéressant d’isoler tous les mécanismes de gestion d’une liste chaînée pour pouvoir les réutiliser. C’est ce que nous allons faire. Toute liste chaînée est composée de deux parties :
Les éléments qui constituent les maillons de la liste chaînée. Pour cela, vous devez créer une classe Element.
Le mécanisme de gestion des éléments et des liens entre les éléments que vous stockerez dans une classe Liste.
3.1.1. Ecrire la classe Element
Tout élément d’une liste chaînée est caractérisé par :
son contenu. Si nous souhaitons pouvoir faire des listes d’étudiants, d’enseignants, etc., il faut ne faut pas que ce contenu soit typé. Vous utiliserez donc le type void* qui représente un type quelconque. Vous aurez donc un attribut du type void * contenu ;
le pointeur vers l’élément suivant. Ce pointeur sera donc de type Element *.
3.1.2. Ecrire la classe Liste
Cette classe modélise une liste chaînée d’Elements. Elle est caractérisée par un pointeur sur le premier élément de la liste et un pointeur sur l’élément courant. Cette classe contient toutes les méthodes nécessaires à la gestion d’une liste chaînée d’Elements (Ajouter, Supprimer, FinListe, Premier, Prochain).
3.2. Ecrire la classe ListeEnseignant
Cette classe permettra de stocker l'ensemble des enseignants de l'université. Puisque nous avons défini une classe Liste générique, nous pouvons la réutiliser. Pour cela, vous pouvez et devez considérer que la ListeEnseignant "est une" Liste. Ainsi, grâce à un lien d'héritage, votre classe ListeEnseignant dispose de tous les éléments nécessaires à une gestion d'une liste chaînée. Vous devez rajouter à cette classe tous les éléments qui sont propres à la gestion d'enseignants comme par exemple, ajouter un enseignant dans la liste, supprimer un enseignant de la liste, … plus une méthode de GestionListeEnseignant permettant d'afficher un menu pour le choix entre les différentes fonctionnalités.
3.3. Ecrire la classe ListeUV
3.4. Ecrire la classe Universite
Cette classe devra comprendre :
Une liste d'UV
Une liste d'enseignants
Toutes les méthodes que vous trouverez utiles
Une méthode GestionUniversité contenant le menu permettant d'accéder à la gestion des différentes composantes de la classe (gestion des étudiants, gestion des enseignants…)
3.5. Ecrire le programme principal
Ecrire un programme principal qui permette de créer une université et de lancer la gestion de l'université.
help me plz...je suis vietnamien
Dun23
Messages postés8Date d'inscriptionjeudi 22 mai 2003StatutMembreDernière intervention23 mai 2003 23 mai 2003 à 11:27
Il y a un megacours sur le C++ (y compris sur les conteneurs) à:
http:://casteyde.christian.free.fr/
Sinon, les map, c'est plutôt puissant et pratique!
cs_vieuxLion
Messages postés455Date d'inscriptionsamedi 26 octobre 2002StatutMembreDernière intervention 6 avril 20048 24 nov. 2002 à 14:35
la première doc est celle de ton compilo ... car c'est une bibliothèque standard.
il existe de bonnes implémentations de cette bibliothèque :
voici des exemples célèbres en téléchargement gratuit:
SGI : http://www.sgi.com/tech/stl STLPORT : http://www.stlport.org et même des futurs standards (?):
BOOST : http://www.boost.org
cobra84
Messages postés42Date d'inscriptiondimanche 26 août 2001StatutMembreDernière intervention13 août 2007 20 nov. 2002 à 21:20
Sais-tu où je pourrais trouver de la bonne documentation sur cette librairie STL?
Merci d'avance ;-)
cs_vieuxLion
Messages postés455Date d'inscriptionsamedi 26 octobre 2002StatutMembreDernière intervention 6 avril 20048 20 nov. 2002 à 13:40
Merci pour le commentaire
Je te conseille de regarder la librairie standard "STL"
Le conteneur que tu envisage s'appelle la "Map" , conteneur associatif index+valeur
Inspire toi de son interface (liste de ses méthodes)
Bon courage
cobra84
Messages postés42Date d'inscriptiondimanche 26 août 2001StatutMembreDernière intervention13 août 2007 19 nov. 2002 à 18:41
Excelente source! Bon travail... Pour continuer la série, je suis en train de programmer une classe "Collection" en C++. comme je programmai en Vb avant, j'avais l'habitude d'utiliser cette Collection. La source sera disponible d'ici peu.
Aller @+
12 juil. 2008 à 13:36
Merci et bravo pour le génie.
30 avril 2004 à 15:04
azkab est une marque deposée elle a son copyright fo pa l'inserer dans tes exemples :P:)
merci encore une fois
23 avril 2004 à 11:18
typedef int(*PF)(char*)
sert à déclarer un "nouveau nom" PF plus court ;)) pour le type "pointeur sur une fonction qui prend un char * en argument et retourne un int" ((
Elle est utilisée ici pour une fonction C++
En général on l'utilise comme un type pour une variable.
Ca sert à définir une variable f qui pourra représenter tout à tour les fonctions f1 et f2. Par exemple
int f1(char*);
int f2(char*);
PF f = f1;
f("azkab);
f=f2;
f("azkab);
ou mieux, dynamiquement en cours du pgm...
23 avril 2004 à 09:13
vieuxlion peux tu m expliquer cette ligne de commande stp
"typedef void (Liste::*PFN)(Element *, bool&, Element* p=NULL);"
12 févr. 2004 à 06:04
Le C++ est un langage modulaire qui permet d’écrire des classes ré-utilisables. Si l’on doit réaliser une liste chaînée d’étudiants, une liste chaînée d’enseignants, etc., il serait peut-être intéressant d’isoler tous les mécanismes de gestion d’une liste chaînée pour pouvoir les réutiliser. C’est ce que nous allons faire. Toute liste chaînée est composée de deux parties :
Les éléments qui constituent les maillons de la liste chaînée. Pour cela, vous devez créer une classe Element.
Le mécanisme de gestion des éléments et des liens entre les éléments que vous stockerez dans une classe Liste.
3.1.1. Ecrire la classe Element
Tout élément d’une liste chaînée est caractérisé par :
son contenu. Si nous souhaitons pouvoir faire des listes d’étudiants, d’enseignants, etc., il faut ne faut pas que ce contenu soit typé. Vous utiliserez donc le type void* qui représente un type quelconque. Vous aurez donc un attribut du type void * contenu ;
le pointeur vers l’élément suivant. Ce pointeur sera donc de type Element *.
3.1.2. Ecrire la classe Liste
Cette classe modélise une liste chaînée d’Elements. Elle est caractérisée par un pointeur sur le premier élément de la liste et un pointeur sur l’élément courant. Cette classe contient toutes les méthodes nécessaires à la gestion d’une liste chaînée d’Elements (Ajouter, Supprimer, FinListe, Premier, Prochain).
3.2. Ecrire la classe ListeEnseignant
Cette classe permettra de stocker l'ensemble des enseignants de l'université. Puisque nous avons défini une classe Liste générique, nous pouvons la réutiliser. Pour cela, vous pouvez et devez considérer que la ListeEnseignant "est une" Liste. Ainsi, grâce à un lien d'héritage, votre classe ListeEnseignant dispose de tous les éléments nécessaires à une gestion d'une liste chaînée. Vous devez rajouter à cette classe tous les éléments qui sont propres à la gestion d'enseignants comme par exemple, ajouter un enseignant dans la liste, supprimer un enseignant de la liste, … plus une méthode de GestionListeEnseignant permettant d'afficher un menu pour le choix entre les différentes fonctionnalités.
3.3. Ecrire la classe ListeUV
3.4. Ecrire la classe Universite
Cette classe devra comprendre :
Une liste d'UV
Une liste d'enseignants
Toutes les méthodes que vous trouverez utiles
Une méthode GestionUniversité contenant le menu permettant d'accéder à la gestion des différentes composantes de la classe (gestion des étudiants, gestion des enseignants…)
3.5. Ecrire le programme principal
Ecrire un programme principal qui permette de créer une université et de lancer la gestion de l'université.
help me plz...je suis vietnamien
23 mai 2003 à 11:27
http:://casteyde.christian.free.fr/
Sinon, les map, c'est plutôt puissant et pratique!
24 nov. 2002 à 14:35
il existe de bonnes implémentations de cette bibliothèque :
voici des exemples célèbres en téléchargement gratuit:
SGI : http://www.sgi.com/tech/stl
STLPORT : http://www.stlport.org
et même des futurs standards (?):
BOOST : http://www.boost.org
20 nov. 2002 à 21:20
Merci d'avance ;-)
20 nov. 2002 à 13:40
Je te conseille de regarder la librairie standard "STL"
Le conteneur que tu envisage s'appelle la "Map" , conteneur associatif index+valeur
Inspire toi de son interface (liste de ses méthodes)
Bon courage
19 nov. 2002 à 18:41
Aller @+