Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Langage C++
  3. Structures et classes
Extrait - Langage C++ De l'héritage C au C++ moderne (avec programmes d'illustration) (2e édition)
Extraits du livre
Langage C++ De l'héritage C au C++ moderne (avec programmes d'illustration) (2e édition) Revenir à la page d'achat du livre

Structures et classes

Hérité du C

1. Principe de la structure

La structure en programmation est un type de données composé par le développeur qui permet de regrouper en une seule unité plusieurs variables, éventuellement de types différents. C’est UNE variable constituée d’un ensemble de variables. C’est très utile pour former des objets complexes qui réunissent différentes facettes.

Par exemple, nous allons écrire un programme qui anime une petite entité dans la fenêtre console : une lettre qui se déplace toute seule en rebondissant sur les bords.

Cette entité nécessite :

  • une position x,y : deux float

  • un pas de déplacement dx, dy : deux float

  • une couleur : un int

  • une lettre : un char ou un int

2. Disposer d’une structure

a. Définir un type de structure

Pour définir une structure, on utilise le mot-clé struct suivi d’un nom pour la structure et d’une liste de déclarations de variables (sans initialisation) entre accolades, closes par un point-virgule. Notre entité se traduit par le type de structure suivant :

struct entite {  
  float x,y;       // en C pas possible d'initialiser 
  float dx,dy;     // ses variables lors de la définition 
  int color;       // de la structure  
  char lettre; 
}; 

Les variables internes au type de la structure sont appelées "champs", données membres ou propriétés ; ces trois termes sont synonymes.

La définition d’un type de structure peut se trouver en global au début d’un fichier de code ou dans une bibliothèque ou même en local dans une fonction.

b. Déclarer...

Apports du C++ : la structure devient une classe

En C++ la structure devient une classe et offre ainsi tous les avantages d’une classe, principalement :

  • elle intègre des fonctions comme membres,

  • elle dispose des fonctions spéciales comme les constructeurs et destructeurs,

  • le pointeur this contient l’adresse de chaque instance,

  • elle contrôle l’accès à ses variables et fonctions membres qui deviennent public, protected ou private.

La seule et unique différence entre une structure C++ et une classe concerne les droits d’accès aux éléments contenus. Toutes les caractéristiques C++ de la structure et de la classe sont abordées au chapitre Classes.