Introduction au langage C++

14 Sep 2017 14 Sep 2017 19804 vues ESSADDOUKI Mostafa 4 min de lecture
Introduction et syntaxe de base
1 Introduction au langage C++ 2 Entrée-sortie en C++ - cin et cout 3 Inférence de type avec le mot-clé auto en C++ 4 Classe std::string et les chaînes de caractères en C++ 5 Les structures conditionnelles (if et switch) en C++ (C++17 et C++20) 6 Les boucles en C++ (C++17 et C++20) 7 La gestion des fichiers en C++
Pointeurs et fonctions
8 Introduction aux pointeurs en C++ - Déclaration et interêts 9 Les références en C++ - déclaration et interêts 10 Les tableaux en C++ - Déclaration et interêts 11 Introduction aux fonctions en C++ 12 Passer des arguments à une fonction en C++ 13 Déclarer un paramètre const en C++ 14 Les fonctions Lambda en C++ 15 Fonctions utiles (Mathématiques et caractères) en C++
Programmation OO
16 Classes et objets en C++ 17 Spécificateurs d'accès en C++ 18 Constructeurs et destructeur d'une classe en C++ 19 Fonctions membres en C++ 20 Membres statiques d'une classe en C++ 21 Fonctions en ligne en C++ - inline 22 Fonctions et classes amies en C++ - friend 23 Surcharge des fonctions en C++ 24 Surcharge des opérateurs en C++ 25 Héritage en C++ 26 La gestion d'exceptions en C++ : déclaration, utilisation et personnalisation 27 fonctions et classes templates en C++ 28 Les nouveautés C++20 pour améliorer les templates en C++
Structures de données
29 Introduction aux structures de données 30 Les structures en C++ et la différence avec les structures en C 31 Les listes chaînées en C++ 32 Les piles en C++ 33 File d'attente en C++ 34 Arbre binaire de recherche : définition et mise en oeuvre en C++
La bibliothèque standard (STL)
35 Introduction à la bibliothèque de Template Standard STL 36 Les itérateurs en C++ - définition, déclaration et exemples 37 La classe array en C++ (bibliothèque STL) <array> 38 La classe vector de la bibliothèque STL <vector> 39 La classe deque en C++ ( Bibliothèque STL) 40 La classe list en C++ (bibliothèque STL) <list> 41 La classe stack (Pile) en C++ (bibliothèque STL) <stack> 42 La classe queue (File d'attente) en C++ (bibliothèque STL) <queue> 43 La file d'attente prioritaire (classe priority_queue) - Bibliothèque STL 44 Les ensembles en C++ (Classe set <set> - Bibliothèque STL) 45 Les dictionnaires en C++ : Classe map (Bibliothèque STL) 46 Introduction aux algorithmes de la bibliothèque STL (programmation compétitive) 47 Tri et méthodes associées en C++ - Bibliothèque STL 48 Recherche dichotomique et méthodes associées en C++ - Bibliothèque STL 49 Appliquer un prédicat ou une fonction aux éléments d'une séquence en C++ - Bibliothèque STL 50 Recherche dans une séquence et méthodes associées en C++ - Bibliothèque STL

Le C++ est un langage de programmation typé statiquement, compilé et à usage général. Il est sensible à la casse et supporte trois paradigmes : la programmation procédurale, orientée objet et générique.

C++ est considéré comme un langage de niveau intermédiaire : il combine des fonctionnalités de haut niveau (abstraction, classes) et de bas niveau (manipulation directe de la mémoire).

Le saviez-vous ? C++ a été développé par Bjarne Stroustrup à partir de 1979 aux Bell Labs. Il s'appelait initialement « C avec Classes » avant d'être renommé C++ en 1983. C++ est un sur-ensemble de C : tout programme C valide est (presque) un programme C++ valide.
Typage statique Un langage utilise le typage statique lorsque la vérification des types est effectuée à la compilation, et non à l'exécution. Cela permet de détecter les erreurs de type plus tôt.

Les piliers de la POO en C++

C++ supporte pleinement la Programmation Orientée Objet (POO), reposant sur quatre piliers fondamentaux :

  • Encapsulation — regrouper données et méthodes dans une classe, en masquant les détails internes.
  • Protection des données — contrôler l'accès aux membres via public, private, protected.
  • Héritage — créer de nouvelles classes à partir de classes existantes.
  • Polymorphisme — permettre à des objets de types différents de répondre à la même interface.

Bibliothèques standard

Le standard C++ comprend trois composantes essentielles :

  • Le langage de base — variables, types de données, structures de contrôle, littéraux, etc.
  • La bibliothèque standard C++ — manipulation de fichiers, chaînes, flux d'E/S, etc.
  • La STL (Standard Template Library) — structures de données génériques (vecteurs, listes, maps…) et algorithmes prêts à l'emploi.

La norme ANSI

La norme ANSI garantit la portabilité du code C++ : un programme correctement écrit se compilera sans erreur sous Windows, Linux, macOS ou UNIX. Tous les compilateurs majeurs (MSVC, GCC, Clang) respectent cette norme.

Premier programme : Hello World

Par convention, le premier programme que l'on écrit dans un nouveau langage affiche « Hello World ». Voici le programme complet en C++ :

   
Syntaxe générale d'un programme C++ C++
// Inclusion du fichier d'en-tête pour les E/S
#include <iostream>
using namespace std;

int main()
{
    cout << "Hello World" << endl;
    return 0;
}
Sortie
Hello World

Décryptage ligne par ligne

ÉlémentRôle
// commentaireLigne ignorée par le compilateur. Sert à documenter le code.
#include <iostream>Directive préprocesseur : inclut la bibliothèque d'entrées/sorties standard.
using namespace std;Importe l'espace de noms std pour écrire cout au lieu de std::cout.
int main()Point d'entrée du programme. Toute exécution commence ici.
cout << "Hello World";Affiche le texte sur la console (flux de sortie standard).
return 0;Indique au système d'exploitation que le programme s'est terminé avec succès.
Bonne pratique using namespace std; est pratique pour les petits programmes, mais considéré comme une mauvaise pratique dans les grands projets. Préférez l'écriture explicite std::cout pour éviter les conflits de noms.

Comment compiler et exécuter

Sous Windows

Utilisez un IDE tel que Code::Blocks ou Dev-C++ qui intègre un compilateur GCC/MinGW.

Sous Linux

GCC est disponible nativement. Compilez et exécutez depuis le terminal :

g++ -o hello hello.cpp
./hello

Point-virgules et blocs

En C++, le point-virgule ; termine chaque instruction. Un bloc est un ensemble d'instructions encadré par des accolades { }.

Erreur fréquente Oublier un point-virgule en fin d'instruction provoque une erreur de compilation. C++ ne reconnaît pas la fin de ligne comme fin d'instruction.

  Ces deux écritures sont équivalentes

int a, b;
a = 3 + b;
cout << a << b;
int a, b; a = 3 + b; cout << a << b;

Mots-clés réservés C++

Ces identifiants sont réservés par le langage et ne peuvent pas être utilisés comme noms de variables ou de fonctions :

asmelsenewthis
autoenumoperatorthrow
boolexplicitprivatetrue
breakexportprotectedtry
caseexternpublictypedef
catchfalseregistertypeid
charfloatreinterpret_casttypename
classforreturnunion
constfriendshortunsigned
const_castgotosignedusing
continueifsizeofvirtual
defaultinlinestaticvoid
deleteintstatic_castvolatile
dolongstructwchar_t
doublemutableswitchwhile
dynamic_castnamespacetemplate 

Discussion (0)

Soyez le premier à laisser un commentaire !

Laisser un commentaire

Votre commentaire sera visible après modération.