0% ont trouvé ce document utile (0 vote)
11 vues10 pages

Introduction au langage C++

Transféré par

loubnastyles1324
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
11 vues10 pages

Introduction au langage C++

Transféré par

loubnastyles1324
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Chapitre1 Présentation du langage C++

Chapitre 1

Présentation du langage C++

1
Chapitre1 Présentation du langage C++

1. HISTORIQUE DU C++
Le langage C++ est un des langages les plus connues au monde. Notamment dans le secteur
du jeu, ses performances et ses potentialités sont très estimées,
Les concepts de la programmation C++ ont été développés par Bjarne Stroustrup en 1982
aux ATT Bell Laboratoires. L'idée était d'ajouter au C des possibilités d'orientation objet et de
pallier les inconvénients du C. D'où le C++ et en même temps un langage classique comme le
C et un langage orienté objet (P.O.O) comme JAVA.
Le C++ est le descendant du langage C. En effet, Bjarne Stroustrup a cherché à adjoindre
à un langage structuré existant (le C), un certain nombre de spécificités lui permettant
d’appliquer les concepts de P.O.O. D’une autre façon, il a permis aux programmeurs C de
passer de la programmation structurée au P.O.O. De sa conception à sa standardisation, le
langage C++ a quelque peu évolué.

Le C et C++ sont, à première vue, deux langages similaires, mais, sont néanmoins
différents. Le C++ propose de nouvelles fonctionnalités, comme la programmation orientée
objet (POO). Elles en font un langage très puissant qui permet de programmer avec une
approche différente du langage C.

L'ordinateur ne comprenant que des ordres codés en binaire (le langage machine) peu
pratiques d'emploi, des langages dits "évolués" ont été mis au point pour faciliter la
programmation, au début des années 60, en particulier FORTRAN (FORmula TRANslator)
pour le calcul scientifique et COBOL pour les applications de gestion. Puis, pour des besoins
pédagogiques principalement, ont été créés le BASIC, pour une approche simple de la
programmation, et PASCAL au début des années 70. Ce dernier (comme le C) favorise une
approche méthodique et disciplinée (on dit "structurée"). Le C a été développé conjointement
au système d'exploitation UNIX, dans les Laboratoires BELL, par Brian W Kernigham et
Dennis M Ritchie, qui ont défini en au cours des années 70, dans "The C Language", les
règles de base de ce langage. Le but principal était de combiner une approche structurée (et
donc une programmation facile) avec des possibilités proches de celles de l'assembleur (donc

2
Chapitre1 Présentation du langage C++

une efficacité maximale en exécution, quitte à passer plus de temps de programmation), tout
en restant standard (c'est à dire pouvoir être implanté sur n'importe quelle machine). Puis ce
langage a été normalisé (norme ANSI), cette norme apportant un nombre non négligeable de
modifications au langage. Contrairement au Pascal, ce langage est principalement destiné aux
programmeurs confirmés, il sera donc avare en commentaires et vérifications, supposant que
le programmeur sait ce qu'il fait.
A la fin des années 80, Bjarne Stroustrup crée le C++, qui garde toutes les possibilités du C,
l'améliorant (commentaires, constantes, passage d'arguments par adresse, arguments par
défaut...) mais surtout en y ajoutant les objets (encapsulation, héritage, polymorphisme,
surcharge...). Le C++ combine donc toutes les possibilités de la programmation «classique» et
la puissance de l'approche «objets». Je préciserai quelles fonctionnalités sont spécifiques au
C++ (les autres fonctionnant également en C ANSI).

2 Environnement de développement en C++ (création d’objets, compilation, débogage,


exécution …).

2.1 création d’un programme en C++


La création du programme (on dit aussi parfois « édition ») consiste à créer, à partir d’un
clavier, tout ou partie du texte d’un programme qu’on nomme « programme source ». En
général, ce texte sera conservé dans un fichier que l’on nommera « fichier source ».
Chaque système possède ses propres conventions de dénomination des fichiers. En général,
un fichier peut, en plus de son nom, être caractérisé par un groupe de caractères (au moins 3)
qu’on appelle une « extension » (ou, parfois un « type ») ; la plupart du temps, en C++, les
fichiers source porteront l’extension cpp .

2.2 Compilation
Le C++ est un langage compilé, c'est à dire qu'il faut :
• entrer un texte dans l'ordinateur (à l'aide d'un programme appelé EDITEUR, par exemple
kwrite ou le bloc notes),
• le traduire en langage machine (c'est à dire en codes binaires compréhensibles par l'ordinateur)
: c'est la compilation (nous utiliserons le compilateur g++),
• l'exécuter.

Pour aller plus en détails (voir schéma) : Pour commencer, la compilation d'une source C++
se fait en plusieurs phases. La première (la précompilation) permet des modifications du code
source, et ce à l'aide de « directives » (commençant par #). Ce n'est que dans une seconde
phase que ce source intermédiaire est effectivement traduit en langage machine : l'objet.
Un programme exécutable peut être réalisé à partir de divers éléments. On peut par exemple
décomposer son programme source C++ en plusieurs fichiers, que l'on compile séparément.
Cela permet, en cas de modification d'une seul source, de ne recompiler que celui-ci (et

3
Chapitre1 Présentation du langage C++

réutiliser les autres objets tels quels). Cela permet également d'utiliser un même objet dans
différents programmes (s'ils nécessitent une fonction commune). On peut également utiliser
des objets générés à partir d'un autre langage (si, quand on les a écrits, on utilisait un autre
langage, ou si quelqu'un nous a donné ses sources).
Tout ces objets doivent être regroupés en un seul programme exécutable : c'est le « link ». Il
permet également de lier diverses librairies. Les librairies sont des objets qu'on nous a
fournies toutes faites : fonctions d'accès aux ressources de l'ordinateur, fonctions graphiques,
bibliothèques de fonctions mathématiques... A la différence d'un objet, seules les parties utiles
d'une librairie seront chargées dans l'exécutable.
Pour qu'un programme puisse être exécuté, il faut qu'il soit complètement chargé dans la
mémoire de l'ordinateur. C'est pourquoi tous les objets et librairies statiques sont incorporés
dans l'exécutable (qui pourra donc devenir assez gros). Dans les systèmes d'exploitation
multitâches, si plusieurs programmes utilisent une même librairie, elle serait alors copiée
plusieurs fois en mémoire. C'est pourquoi on utilise des librairies dynamiques (.dll sous
Windows) : l'exécutable sait simplement qu'elle est nécessaire. Si, lors du chargement du
programme, elle est déjà présente, inutile de la charger une seconde fois. Certains systèmes
ont du mal par contre à décider quand supprimer une librairie dynamique de la mémoire (en
particulier si l'un des programmes l'ayant demandé à planté).

4
Chapitre1 Présentation du langage C++

2.3 Débogage
Quand vous déboguez votre application, cela signifie généralement que vous exécutez votre
application en y ayant attaché le débogueur. Quand vous faites cela, le débogueur fournit de
nombreuses façons de voir ce que fait votre code pendant qu’il s’exécute. Vous pouvez
parcourir votre code pas à pas et examiner les valeurs stockées dans les variables, vous
pouvez définir des espions sur des variables pour voir quand les valeurs changent, vous
pouvez examiner le chemin d’exécution de votre code, voir si une branche de code s’exécute.

Exemple de débogage

Le débogage se présente selon les procédures suivantes :


 Démarrer le débogueur et atteindre des points d’arrêt
 Découvrir les commandes permettant de parcourir le code pas à pas dans le débogueur
 Inspecter des variables dans des bulles d’informations et dans les fenêtres du débogueur
 Examiner la pile des appels

3 LES LOGICIELS NECESSAIRES POUR PROGRAMMER


Il faut installer certains logiciels spécifiques pour programmer en C++.Il s'agit du
compilateur, ce programme qui permet de traduire le langage C++en langage binaire.
Il existe plusieurs compilateurs pour le langage C++ :

 Visual C++(Windows seulement)


 Visual C++ Express
 Xcode (Mac OS seulement)
 Turbo C++

5
Chapitre1 Présentation du langage C++

 Code ::blocks (Windows, Mac OS, Linux)


4 Composition d’un programme C++

Un programme écrit en C++ se compose généralement de plusieurs fichiers sources. Il ya


deux sortes de fichiers-sources :

 Des fichiers qui contiennent effectivement des instructions ; leur nom possède
l’extension .cpp
 Des fichiers qui contiennent que des déclarations ; leur nom possède l’extension .h (signifiant
‘header’ ou en-tête).
Le C++ offre des possibilités de programmation modulaire : un programme peut être
constitué de plusieurs modules (fichiers).

Les instructions sont obligatoirement encapsulées dans des fonctions et il existe une
fonction privilégiée appelée main qui est le point de départ de tout programme.
Le canevas minimal à utiliser un programme C++ se présente ainsi :

5 Un aperçu d’un programme en C++

L’exemple suivant illustre un programme simple qui affiche ‘Salem’ à l’écran :

5.1 La directive #include

On place en général au début du programme un certain nombre d'instructions commençant


par #include. Cette instruction permet d’inclure dans un programme la définition de certains

6
Chapitre1 Présentation du langage C++

objets, types ou fonctions. Le nom du fichier peut être soit à l'intérieur des chevrons < et >,
soit entre guillemets.
#include <nom_fichier> : Inclut le fichier nom_fichier en le cherchant d'abord dans les
chemins configurés, puis dans le même répertoire que le fichier source, puis dans les chemins
configurés.

 using namespace std;

On indique par cette directive l'utilisation de l'espace de nommage std. Un espace de


nommage est un ensemble de classes qui sont constitués d’objets. Par exemple l’instruction
cout fait partie de l’espace std. Etant donné que nous voulons utiliser l'objet cout, nous
indiquons que l'on utilisera, par défaut, l'espace de nommage std. Pour simplifier, dès que l'on
veut utiliser cin ou cout, on doit écrire cette directive.

Exemple de cin et cout en Code C++

#include <iostream>
using namespace std;
int main()
{
cout << "Quel âge avez-vous ?" << endl;
int ageUtilisateur(0); //On prépare une case mémoire pour
stocker un entier.
cin >> ageUtilisateur; //On fait entrer un nombre dans cette case.
cout << "Vous avez " << ageUtilisateur << " ans !" << endl;
//Et on l'affiche.
return 0;
}

7
Chapitre1 Présentation du langage C++

Si on exécute ce code on aura le résultat suivant en mode console :

Résultat en mode Console


Quel âge avez-vous ?
22
Vous avez 22 ans !

Il faut également remarquer que les fichiers d'en-tête standard ne sont désormais plus
nommés avec une extension .h (comme iostream.h). Si ces fichiers d'en-tête sont inclus sans
être suivi de la commande using namespace std; cela ne fonctionnera pas correctement.
Dans certaines versions de C++ , si, lors de la compilation, vous spécifiez un fichier d'en-tête

standard avec une extension .h (comme iostream.h), le compilateur utilisera le fichier


"backward" compatible et vous signifiera un avertissement.

 Le fichier iostream

Le fichier iostream contient un certain nombre de définitions d’objets intervenant dans les
entrées/sorties du programme, c’est-à-dire dans l’affichage à l’écran ou dans des fichiers. La
définition de cout se trouve dans ce fichier; pour utiliser cout dans notre programme, il faut
inclure au début du programme la ligne suivante :

#include <iostream>
Ce fichier est fourni par l’éditeur du compilateur : il s’agit d’un fichier C++ standard.
 La fonction main()

Notre programme contient une fonction appelée main : c’est à cet endroit que va
commencer l’exécution du programme : exécuter un programme en C++, c’est exécuter la
fonction main de ce programme. Tout programme en C++ doit donc comporter une fonction
main.

La fonction main apparaît sous la forme suivante :

int main()
{
on place ici une liste d’instructions en C++
}

La liste d’instructions entre accolades est exécutée séquentiellement : on exécute chaque


Instruction dans l’ordre, les unes après les autres.

 cout

Il s’agit du flux de sortie du programme (Console Output : sortie console). Ce flux de sortie

8
Chapitre1 Présentation du langage C++

est envoyé par défaut vers l’écran. Il va nous servir à afficher des messages à l’écran en
utilisant l'opérateur <<. Cet opérateur à la forme d'une flèche semblant indiquer le sens de
transfert des données (écriture vers la console).

Exemple
cout<<"Salem"; : Cette instruction affiche Salem à l’écran.

cout<<endl; : L’ instruction endl vous passe à la ligne suivante.

Il faut également connaître une écriture plus condensée. Au lieu d’écrire en 3 instructions :
cout << "Salem";
cout << endl;
cout << "Bonjour";

On peut écrire en une seule instruction :

cout << "Salem" << endl << "Bonjour";

Cependant, sur certaines implémentations, cette instruction condensée ne compile pas


correctement, car l'implémentation du symbole endl ne permet pas d'utiliser l'opérateur <<
par la suite :
cout << "Salem" << endl;
cout << "Bonjour";

 Retour de la fonction

L’instruction return 0 de notre programme indique seulement que la fonction main s'est
terminée correctement sans erreur particulière.

 Exécution du programme

Lorsqu'on édite notre fichier source, puis o n l e compile et enfin o n l ’ exécute notre
programme ils'affiche alors à l'écran en mode console : Salem

Remarque

 L'ajout de l'instruction système ("PAUSE"); sera parfois nécessaire pour que le


programme ne s'arrête pas immédiatement après s'être ouvert. Cette instruction doit être
ajouté avant l'instruction return 0 ;
 Il convient de noter que :
 le C++ fait la différence entre lettres minuscules et majuscules : par exemple les x et
X représentent deux variables différentes.
 Les instructions sont généralement identifiées par le point-virgule. C’est ce caractère
qui marque la fin d’une instruction.

9
Chapitre1 Présentation du langage C++

 Les espaces (y compris les tabulations et les retours à la ligne) peuvent être utilisés
àvolonté avant ou après un séparateur ( #< >( ) {} ; ......... ).On traduit ce fait en disant
que le C++ est un langage au format libre.

6 Les avantages du C++

• Il est très répandu, il fait partie des langages de programmation les plus utilisés sur la
planète. On trouve donc beaucoup de documentation sur Internet et on peut facilement
avoir de l'aide sur les forums.
• Il est rapide, très rapide même, ce qui en fait un langage de choix pour les applications qui
ont besoin de performances. C'est en particulier le cas des jeux vidéo, mais aussi des outils
financiers ou de certains programmes militaires qui doivent fonctionner en temps réel.
• Il est portable : un même code source peut théoriquement être transformé sans problème
en exécutable sous Windows, Linux. Vous n'aurez pas besoin de réécrire votre programme
pour d'autres plates-formes !
• Il existe de nombreuses bibliothèques pour le C++. Les bibliothèques sont des extensions
pour le langage. De base, le C++ ne sait pas faire grand chose mais, en le combinant avec
de bonnes bibliothèques, on peut créer des programmes 3D, réseaux, audio, fenêtrés, etc.
• Il est multi-paradigmes. Ce mot signifie qu'on peut programmer de différentes façons en
C++. Les techniques de programmation des plus célèbres est la Programmation Orientée
Objet (POO). C'est une technique qui permet de simplifier l'organisation du code dans nos
programmes et de rendre facilement certains morceaux de codes réutilisables.

10

Vous aimerez peut-être aussi