C CHAP9
[modifier] Présentation
Nous avons utilisé pour l'instant des types de base : ils contiennent des éléments de type int, char, double ou bool. Dans ce chapitre nous allons définir de nouveaux types qui vont permettre de représenter des entités plus complexes. Par exemple, on pourra définir un type point qui contiendra une abscisse et une ordonnée. Nous allons donc apprendre à créer et à utiliser des types structurés.
Nous verrons ensuite comment, à partir de ces types, nous pouvons créer des fonctions permettant de manipuler ces nouveaux types. L'association de ces types et de ces fonctions sera appelée module, chacun sera défini par un fichier header .h et un fichier source .cpp. Nous verrons à cette occasion la compilation séparée. Notre programme ne sera plus constitué d'un seul fichier mais d'un ensemble de fichiers qui pourra éventuellement être très important. Nous étudierons finalement un type de structure très usuel : les listes. Dans ce chapitre, notre représentation des listes sera très sommaire mais sera l'occasion de découvrir une méthodologie de programmation en découpant notre programme en différents modules qui seront dans une certaine mesure indépendants. Cette méthodologie nous permettra de concevoir des programmes de taille plus importante.
[modifier] Idée
En général, pour représenter en C++ des données, il faut plusieurs variable.
Exemple :
- pour représenter un point, il faut une abscisse et une ordonnée.
- pour représenter une fraction, il faut un numérateur et un dénominateur .
- pour représenter une liste de notes, il faut un nombre de notes et un tableau d'entiers ...
[modifier] Les structures
On va créer de nouveaux types qui regroupent plusieurs variables. D'apparence anodine, cette idée est extrêmement puissante.
Exemple : struct point
{
double x,y;
};
[modifier] Variable de type structuré
On peut maintenant définir des variables de type point .
Par exemple : point a , b; a contient 2 réels appelé a.x et a.y.