Cours C++ GL TEER S4

28
Prof. Salah-ddine KRIT 1 ______________________________________________________________________________ Filières: GL, TEER S4: 2014/2015

Transcript of Cours C++ GL TEER S4

Prof. Salah-ddine KRIT 1

______________________________________________________________________________

Filières: GL, TEERS4: 2014/2015

Prof. Salah-ddine KRIT 2

SOMMAIRE

� Structure d’un programme C++� Pointeur, Tableaux et Chaine dynamiques� Classes et Objets� Héritage et Polymorphisme� Surcharge d’opérateurs� Fonctions et Classes Génériques� Flux d’entrées-sorties� Développement de systèmes orientés objets

Prof. Salah-ddine KRIT 3

� [Delannoy], «Le langage C++», Eyrolles, Très bon livre pour commencer le C++, livretrès pédagogique. A servi de base pour ces notes de cours.� [Stroustrup], «Le langage C++ », Addison Wesley, Pearson Education, Le livre deréférence par l’auteur du C++. Complet mais beaucoup trop riche pour débuter.� [Scott Meyers], «Le C++ efficace », Addison Wesley, Des règles pour programmerproprement et efficacement en C++.� [Schaum], C++ cours et exercices corrigés, C++ détaillé avec exemples, exercicescorrigés. A servi de base pour une partie des notes de ce cours. Par contre, les classes,l’héritage et les fonctions virtuelles ne sont pas assez développés.� [Johannes Weidl], «The Standard Template Library Tutorial ». Un tutorial sur la STL,accessible sur le Web. Pour programmeur confirmé. Elle est très importante autour de C++,mentionnons simplement :� [Ellis & Stroustrup 90] Ellis M.A & Stroustrup B., “The annotated C++ reference manual“ Addison-Wesley, 0-201-51459-1, 1990 La référence sur C++, avec des considérations sur les choix de conception du langage.� [Ray Lischner 2003] Ray Lischner, “C++ in a Nutshell“ O'Reilly, 0-596-00298-X, 2003 Présentation détaillée du langage C++,, illustrée par des exemples.� [Birtwistle & al. 73] Birtwistle G. & al., “Simula Begin“ Van Nostrand Reinhold, 0-905897-37-4, 1973�Le langage Simula 67, précurseur de l’approche objets

REFERENCES

Prof. Salah-ddine KRIT 4

� Le C++ a été conçu parBjarne Stroustrup en 1982auxATT BellLaboratories. L’idée était d’ajouter au C des possibilités sur l’orientéobjet et de palier aux inconvénients du C.� Le C++ est l’un des langages de programmation les plus utilisésactuellement. Il est à la fois facile à utiliser et très efficace.Il souffrecependant de la réputation d’être compliqué et illisible.Cette réputation est en partie justifiée. La complexité du langage estinévitable lorsqu’on cherche à avoir beaucoup de fonctionnalités. Enrevanche, en ce qui concerne la lisibilité des programmes, tout dépendde la bonne volonté du programmeur.� Le C++ est incontournable dans la réalisation des grands programmes.� Ce langage est, avec le C, idéal pour ceux qui doivent assurer la portabilité de leurs programmes au niveau des fichiers sources (pas des exécutables).

INTRODUCTION

Prof. Salah-ddine KRIT 5

INTRODUCTION

Les principaux avantages du C++sont les suivants :� grand nombre de fonctionnalités ;� performances du C ;� facilité d’utilisation des langages objets ;� portabilité des fichiers sources ;� facilité de conversion des programmes C en C++, et, en particulier,possibilité d’utiliser toutes les fonctionnalités du langage C ;� contrôle d’erreurs accru.� puissance, fonctionnalité, portabilité et sûreté. � La richesse du contrôle d’erreurs du langage, basé sur un typage très fort, permet de signaler un grand nombre d’erreurs à la compilation.

Un langage orienté objet

Permet:

La definition d’objets, avec partie publiqueet privée

La modularité (compilation séparée)

La réutilisation (mise en facteur des fonctionalités)

L’extension des objets (héritage)

La lisibilité (distinction interface / implémentation)

La définition d’objets abstraits6Prof. Salah-ddine KRIT

scorpion
Highlight
important

Prof. Salah-ddine KRIT 7

L'EXECUTION D'UN PROGRAMME

1- Edition du programme source,à l'aide d'un éditeur (traitement de textes). Lenom dufichier contient l'extension .CPP, exemple: EXI_1.CPP .2- Compilation du programme source, c'est à dire création des codes machinedestinés aumicroprocesseur utilisé. Le compilateur indique les erreurs de syntaxemais ignore les fonctions-bibliothèque appelées par le programme.Le compilateur génère un fichier binaire, non éditable en mode « texte », appeléfichier objet: EXI_1.OBJ (commande « compile »).3- Editions de liens: Le code machine des fonctions-bibliothèque est chargé,création d'un fichier binaire, non éditable en mode texte, appelé fichierexécutable:EXI_1.EXE (commande « build all »).4- Exécution du programme (commande « Run » ou « flèche jaune »).Les compilateurs permettent en général de construire des programmes composés deplusieurs fichiers sources, d'ajouter à un programme des unités déjà compilées. Ondit alors que l’on travaille par gestion de projet.

Prof. Salah-ddine KRIT 8

LE PROCESSUS DE COMPILATION

9

Présentation

• Le C est inclus (à 99%) dans le C++

• Le C++ rajoute des notions de programmation

orientée objet (classe, héritage,

polymorphisme… comme en Java), ainsi que

des facilités d’écriture (surcharge

d’opérateurs…)

Prof. Salah-ddine KRIT

10

Hello World!

Notion de namespace

Opérateur

Prof. Salah-ddine KRIT

11

Namespace

Plus besoin d’utiliser std::

Prof. Salah-ddine KRIT

Prof. Salah-ddine KRIT 12

EXEMPLE: 1

Le langage C++ distingue les minuscules, des majuscules. Les mots réservés du langage C++ doivent être écrits en minuscules.

Prof. Salah-ddine KRIT 13

EXEMPLE: 2

//les commentaires s'écrivent derrière 2 barres obliques#include <iostream.h> //sorties standard#include <conio.h>int main(){int i, i, calcul ; //déclaration de 3 variablescout<<"Bonjour"; //affichage d'un message sur l'écrani = 5 ; // affectationj = 10 ; // affectationcalcul = (i + j)*5 ; //cout <<" Affichage de a : "<< i<<"\n";cout <<" Affichage de b : "<< j<<"\n";cout <<" Voici le résultat : "<< calcul<<"\n";cout<<"Pour continuer frapper une touche...";getch(); // Attente d'une saisie clavier}

Prof. Salah-ddine KRIT 14

LES DIFFERENTS TYPES DE VARIABLES

Prof. Salah-ddine KRIT 15

LES DIFFERENTS TYPES DE VARIABLES

Prof. Salah-ddine KRIT 16

Prof. Salah-ddine KRIT 17

EXEMPLE: 3

Prof. Salah-ddine KRIT 18

L’OPERATEUR: CINsaisie de nombres et de caractères au clavier

L’opérateur cin, spécifique à C++, appartient à la bibliothèque iostream.h, et permet la saisie à partir du clavier de n'importe quel type de variable (l’affichage prend en compte le type de la variable).Exemple:

Prof. Salah-ddine KRIT 19

Exercice:Saisir 3 réels a,b et c calculer et afficher leur moyenne.

Prof. Salah-ddine KRIT 20

C++: mots-clés

Prof. Salah-ddine KRIT 21

C++: mots-clés

Prof. Salah-ddine KRIT 22

C++:Les opérateurs

Prof. Salah-ddine KRIT 23

C++:Les opérateurs

Prof. Salah-ddine KRIT 24

C++:Les opérateurs

Prof. Salah-ddine KRIT 25

C++:Les opérateurs

Prof. Salah-ddine KRIT 26

C++:Les opérateurs

Prof. Salah-ddine KRIT 27

C++:Les opérateurs

Prof. Salah-ddine KRIT 28

C++:Les opérateurs