Vous êtes sur la page 1sur 18

25/11/2014

Programmation Orientée Objet


par C++

ZAKRANI Abdelali
ENSAM – CASABLANCA
Année universitaire 2014-2015

Langage de programmation
 L’ordinateur est une machine étonnante
et complexe.
 Il ne comprend qu'un langage très simple
constitué de 0 et de 1.

Un message tel que :


1010010010100011010101001010
Langage binaire
Peut
signifier

« Affiche une fenêtre à l'écran »

ZAKRANI / POO avec C++ / 14-15 2

1
25/11/2014

Langage de programmation
 Les informaticiens ont créé des langages
intermédiaires, plus simples que le binaire.
 Il existe aujourd'hui des centaines de langages
de programmation.

Le On obtient un
programmation programme en binaire
Le programme écrit
Compilateur
de traduction que l’ordinateur
dans un langage de
traduit en comprend:
programmation
« binaire » 101001001010001101

 Le compilateur permet de transformer votre code, écrit dans un


langage de programmation, en un vrai programme exécutable.

ZAKRANI / POO avec C++ / 14-15 3

Langage de programmation C++


• Java
Langage de haut niveau • C# .net
Plus simple et plus éloigné du • Python
fonctionnement de la machine • Ruby

Niveaux
des
langages

Langage de bas niveau • C


Plus complexe et plus proche du • C ++
fonctionnement de la machine • Objective - C

0110100110
0101011101 • Assembleur
Binaire
ZAKRANI / POO avec C++ / 14-15 4

2
25/11/2014

Histoire de C++
• 1979: Bjarne Stroustrup crée le langage C with class
• 1983: C with class devient C++ après l’ajout des
références, de la surcharge d’opérateurs et les fonctions
virtuelles
• 1989: la version 2.0 de C++ qui apporte l’héritage
multiple et les classes abstraites et d’autres nouveautés
• 1998: la standarisation au niveau
international du langage C++
• 2011: Révision majeure du C++11

Bjarne Stroustrup
créateur de C++
ZAKRANI / POO avec C++ / 14-15 5

Langage de programmation C++


 D’une façon simpliste: C++ est un sur-ensemble de C.

C++= C + améliorations + orienté objet

 C++ = C +
Notion de classe
méthodes (ou fonction membre)
héritage
polymorphisme…

ZAKRANI / POO avec C++ / 14-15 6

3
25/11/2014

Langage C++
 Il est très répandu, il fait partie des langages de
programmation les plus utilisés sur la planète.
 Il est rapide, ce qui en fait un langage de choix pour les
applications critiques qui ont besoin de performances
 Il est portable: un même code source peut
théoriquement être transformé sans problème en
exécutable sous Windows, Mac OS et Linux
 Il existe de nombreuses bibliothèques pour le C++.

ZAKRANI / POO avec C++ / 14-15 7

Premier programme C++


directive de préprocesseur: inclure
la bibliothèque iostream

Commentaire qui s’étale indique que vous allez utiliser l'espace de


sur plusieurs ligne /* …*/ noms std dans la suite du fichier de code

Commentaire sur une


Tous les programmes seule ligne
commencent par la
fonction main

ZAKRANI / POO avec C++ / 14-15 8

4
25/11/2014

Premier Programme C++

Cout suivi de l’opérateur d’insertion (<<)pour afficher des données à


l’écran
endl: end line provoque un retour à la ligne

Comme toute fonction en c++, la


fonction main est délimité par { }.
Les instructions entre { et }
constitue un bloc

La fonction main() retourne un entier


Si la valeur 0 est retourné indique que le
programme s’est termine correctement

ZAKRANI / POO avec C++ / 14-15 9

Second programme C++

ZAKRANI / POO avec C++ / 14-15 10

5
25/11/2014

Quelques règles d’écriture


 Les identificateurs: servent à désigner les différents
objets manipulés par le programme (variables, fonctions,
objets, structures…)
 Ils sont formés d’une suite de caractère choisis parmi
les lettres et les chiffres. Le premier caractère doit être
une lettre
Exemples:
lg_lig, valeur_5, _total, _89
 les identificateurs ligne et Ligne désignent deux objets
différents.

ZAKRANI / POO avec C++ / 14-15 11

Quelques règles d’écriture


 Certains « mots-clés » sont réservés par le langage à
un usage bien défini et ne peuvent pas être utilisés
comme identificateurs

ZAKRANI / POO avec C++ / 14-15 12

6
25/11/2014

Fichier source Prog1.cpp


Création d’un programme C++
Inclut les fichiers
1 Préprocesseur C++
en-tête

Fichier temporaire Le résultat est


toujours un fichier
source
2 Compilateur

Prog1.s

3 Assembleur
Fichier objet

Prog1.o

Modules objets
4 Éditeur de liens pour les fonctions
de la librairie

Prog1.exe
ZAKRANI / POO avec C++ / 14-15 13

Les types de base de C++

 Les types de base en C++ sont: char, int et float

 Les types dérivés:


◦ de types structurés comme les tableaux, les structures
ou les unions, et surtout les classes ;
◦ d’autres types simples comme les pointeurs ou les
énumérations.

ZAKRANI / POO avec C++ / 14-15 14

7
25/11/2014

Les types de base de C++


 Les entiers

ZAKRANI / POO avec C++ / 14-15 15

Les types de base de C++


 Les réels

ZAKRANI / POO avec C++ / 14-15 16

8
25/11/2014

Déclarations des variables


Typevariable nomvariable;

Exemples:
int n;
int n =20;
const float x=0.3;
double y;
bool ok=false;
char c=‘a’;

ZAKRANI / POO avec C++ / 14-15 17

Opérateurs et expressions
 Les opérateurs sont des symboles qui permettent de
manipuler des variables, c'est-à-dire effectuer des
opérations, les évaluer, etc.

On distingue plusieurs types d'opérateurs :


 les opérateurs de calcul (arithmétiques): addition
(+), multiplication (*), division (/), soustraction (-), unaire
(l’opposé -).
 les opérateurs d'assignation (+=, -=, *=, /=)
 les opérateurs d'incrémentation/décrémentation
(++, --)
 les opérateurs de comparaison (<=, <, >=, >, ==, !=)

ZAKRANI / POO avec C++ / 14-15 18

9
25/11/2014

Opérateurs et expressions
 Les opérateurs logiques:
 && (ET logique)
 || ( OU logique)
 ! (NON logique)
 L’opérateur relationnel: (? et :)
En C++, l’instruction:

if ( a>b ) max = a ;
max= a>b ? a : b ;
else max = b ;

ZAKRANI / POO avec C++ / 14-15 19

QUIZ
1. Vérifier la validité des noms des variables
suivants :(valide/invalide)

a) id2
b) 4eme
c) x#y
d) _id
e) no-commande
f) taux change
g) _2344
h) %id
ZAKRANI / POO avec C++ / 14-15 20

10
25/11/2014

QUIZ
2. Comment écrire un commentaire sur une seule ligne ?

a) // mon commentaire //

b) // mon commentaire

c) /* mon commentaire */

d) /* mon commentaire

ZAKRANI / POO avec C++ / 14-15 21

QUIZ
3. Quel est la première étape de la compilation?

a) Prétraitement par le préprocesseur

b) Assembleur

c) Editeur de liens

d) Compilateur

ZAKRANI / POO avec C++ / 14-15 22

11
25/11/2014

QUIZ
4. Quel l’en-tête qui permet d’utiliser la
fonction sqrt() en C++?

a) Qmath
b) Cmath
c) Math

ZAKRANI / POO avec C++ / 14-15 23

Quiz
5. Quels sont les mots clés introduits par
C++?
a) Break
b) Private
c) Struct
d) Long int
e) Class
f) new

ZAKRANI / POO avec C++ / 14-15 24

12
25/11/2014

QUIZ
6. Quels résultats fournit le programme suivant :

A:i=1n=0
B : i = 11 n = 11
C : i = 21 j = 6 n = 120
D : i = 18 n = 18
E : i = 12 j = 4 n = 12

ZAKRANI / POO avec C++ / 14-15 25

Les instructions de contrôle


L’instruction if
Syntaxe
if (expression) instruction_1
else instruction_2
Ou
if (expression) instruction_1

 expression : expression quelconque
 instruction_1 et instruction_2 : instructions
quelconques (simple, bloc ou instruction structurée.)

ZAKRANI / POO avec C++ / 14-15 26

13
25/11/2014

Les instructions de contrôle


L’instruction if
Exemple:
if ( ++i < limite) cout << "OK" ;

est équivalent à :
◦ i=i+1;
◦ If ( i < limite ) cout << "OK" ;

Questions:
1. if (a = b) { ..... } ?
2. if (a<=b) if (b<=c) cout << "ordonné" ;
else cout << "non ordonné" ;

ZAKRANI / POO avec C++ / 14-15 27

Les instructions de contrôle


L’instruction switch:
Syntaxe:
switch (expression)
{ case constante_1 : [ suite_d’instructions_1 ]
case constante_2 : [ suite_d’instructions_2 ]
..............
case constante_n : [ suite_d’instructions_n ]
[ default : suite_d’instructions ]
}

ZAKRANI / POO avec C++ / 14-15 28

14
25/11/2014

Les instructions de contrôle


L’instruction do … while
Syntaxe:
do instruction
while (expression) ;

ZAKRANI / POO avec C++ / 14-15 29

Les instructions de contrôle


L’instruction for
Syntaxe:
for ([ expression_déclaration_1 ] ; [ expression_2 ] ; [ expression_3 ])
instruction

ZAKRANI / POO avec C++ / 14-15 30

15
25/11/2014

Les instructions de branchement


inconditionnel
 L’instruction break

début tour 1
Bonjour
fin tour 1
début tour 2
bonjour
fin tour 2
Le programme a affiché début tour 3
début tour 3 et bonjour bonjour
puis i==3, il sort de la après la boucle
boucle
ZAKRANI / POO avec C++ / 14-15 31

Les instructions de branchement


inconditionnel
 L’instruction continue

début tour 1
début tour 2
début tour 3
début tour 4
Le programme affiche bonjour
début tour 1 à 3 puis début tour 5
i>=4, il affiche bonjour bonjour

ZAKRANI / POO avec C++ / 14-15 32

16
25/11/2014

Les instructions de branchement


inconditionnel
 L’instruction goto

début tour 1
Bonjour
fin tour 1
début tour 2
bonjour
fin tour 2
Le programme a affiché début tour 3
début tour 3 et bonjour bonjour
puis i==3, il se banche à après la boucle
sortie
ZAKRANI / POO avec C++ / 14-15 33

Exercices

Détecter le problème?

Détecter l’erreur?

ZAKRANI / POO avec C++ / 14-15 34

17
25/11/2014

Quiz
 Quelles erreurs ont été commises dans chacun des
groupes d’instructions suivants :
1.
Il manque un point-virgule dans la
if (a<b) cout << "ascendant" première instruction
else cout << "non ascendant" ; if (a<b) cout << "ascendant« ;

2.
int n ;
...
switch (2*n+1)
L’expression 2*n+1 n’est une
{ case 1 : cout << "petit" ;
expression constante
case n : cout << "moyen" ;
}
ZAKRANI / POO avec C++ / 14-15 35

Quiz (suite)
 Quelles erreurs ont été commises dans chacun des
groupes d’instructions suivants :
3.
const int LIMITE=100;
int n ;
...
switch (n)
{ case LIMITE-1 : cout << "un peu moins" ; OK
case LIMITE : cout << "juste" ;
case LIMITE+1 : cout << "un peu plus" ;
}

ZAKRANI / POO avec C++ / 14-15 36

18

Vous aimerez peut-être aussi