0% ont trouvé ce document utile (0 vote)
81 vues71 pages

Cours-C

Ce document présente les bases du langage de programmation C++. Il introduit les concepts clés comme les variables, les opérateurs, les commentaires et les instructions élémentaires. Le document détaille également les différents types de données et outils utilisés en C++.

Transféré par

jdnlike8
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)
81 vues71 pages

Cours-C

Ce document présente les bases du langage de programmation C++. Il introduit les concepts clés comme les variables, les opérateurs, les commentaires et les instructions élémentaires. Le document détaille également les différents types de données et outils utilisés en C++.

Transféré par

jdnlike8
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
Vous êtes sur la page 1/ 71

Université Marien NGOUABI

Faculté des Sciences et Technique


Parcours Licence
Option informatique

Cours de programmation C++


Chapitre 1: Généralités

Sommaire
1. Introduction
2. Rappels
3. Les outils

1
Chapitre 1: Généralités
1. introduction
La programmation ne se limite pas qu’à l’étape d’écriture d’algorithmes.
Tout programme pour être exécuté par la machine doit d’abord être traduit
en un langage compréhensible par l’ordinateur appelé langage de
programmation. Il existe une multitude de langages de programmation
comme le C, C++, java, python, javascript…
Chaque langage de programmation possède ses atouts et ses inconvénients.
Dans Ce cours, nous allons d’abord expliquer quelques rudiments de la
programmation dans les rappels et présenterons les outils qu’il faut pour
travailler en C++. 2
Chapitre 1: Généralités
2. Rappels
2.1. Algorithme et programmation
❑ Un algorithme est une suite ordonnée d’instructions destinées à la
résolution d’un problème donné. Un algorithme est écrit en langage
formel, qui n’est pas compréhensible par la machine.
❑ La programmation consiste à automatiser un ensemble des tâches
constituant l’étape de la résolution d’un problème.
❑ Un programme est un ensemble d’algorithmes. Un programme est écrit
en un langage compréhensible par la machine d’où les langages de
programmation. 3
Chapitre 1: Généralités
Il existe, en programmation, une multitude de langages de
programmation comme le C, C++, java, python, javascript… Chaque
langage comporte des atouts et des inconvénients.
Le C++ est aussi un langage de programmation très populaire dans le
domaine de l’informatique de gestion.
3. Présentation du langage C++
3.1. Un peu d’historique :
Le langage C++ est un langage qui est né essentiellement du langage C mais
aussi s’inspirant des autres langages dans son évolution. La petite historique
suivante retrace son evolution 4
Chapitre 1: Généralités
● 1972 : Naissance du langage C dans les Bell Labs par Dennis Ritchie
et Kenneth Thompson.

● 1983 : Objective C chez NeXt puis Apple. Une extension objet du C


avec une Syntaxe inhabituelle inspirée de Smalltalk

● 1985 : Naissance du C++ chez AT&T Bell Labs. Une extension objet
du C par Bjarne Stroustrup

De nos jours, C++ à connus plusieurs versions s’inspirant d’autres


langages comme java, c#, delphi …


5
Chapitre 1: Généralités
3.2. Qu’est ce que le langage C++ ?

C++ est un langage à la fois:


- procédurale : il reprend essentiellement les concepts du langage C,


notamment la notion de fonction et de procédure (une procédure étant une
fonction avec un retour de type 'void') ;.

- Orienté-objet : il implémente la notion de classe avec toutes les


concepts de programmation orienté objet

6
Chapitre 1: Généralités
3.3. Avantages :

C++ est parmi les langages de programmation les plus utilisées dans le
monde aussi bien dans la programmation des applications scientifiques et les
applications de gestion.

On le trouve également dans les systèmes d’exploitation, les interfaces


graphiques, et les systèmes embarqués.

7
Chapitre 1: Généralités
4. Les outils du C++

- un compilateur comme GCC pour la compilation du code source en


langage machine;

- Un éditeur de texte simple comme Notepad++ ou un IDE


(Environnement de développement intégré) pour l’édition du code.

- Pour la pratique, nous utiliserons un IDE appelé Code::Blocks à


télécharger à l’adresse suivante : http://www.codeblocks.org/downloads/26
et prendre la version mingw-setup.exe pour Windows qui installe à la fois
l’éditeur et le compilateur

8
Chapitre 2: les bases du C++
Sommaire
1. Introduction
2. La synthaxe générale
3. Les instructions élémentaires
4. Les commentaires
5. Les variables
6. Les operateurs
7. Les opérations sur les chaînes des caractères
8. Les fonctions mathematiques
9. Autres fonctions
10. Les valeurs booléennes
11. Les structures conditionnelles 9
Chapitre 2: Les bases du C++
1- Introduction
l’apprentissage de tout langage de programmation commence par les
bases donc la synthaxe de base, les instructions élémentaires….
2. La syntaxe générale
- Le code source d’un programme C++ se trouve dans des fichiers avec
extension .cpp
- Toute instruction C++ se termine par un point-virgule (";");
- Les instructions à exécuter se trouvent toujours entre accolades("{}");
- L’utilisation des instructions d’entrées/sortie nécessite l’import de la
bibliothèque "iostream"
- Using namespace std : permet d’utiliser des noms des objets et les variables
de la bibliothèque standard.
10
Chapitre 2: Les bases du C++
3. Les instructions élémentaires
3.1. Instruction d‘entrée: "cin" suivi de l’opérateur ">>" permet de récupérer
une valeur saisie par l’utilisateur
exemple: cin >>nom;
3.2. L’instruction de sortie :"cout" suivi de l’opérateur "<<" permet d’afficher
une valeur à l’écran
exemple: cout << "Hello world !";

4. Les commentaires :

▪ // exprime un commentaire sur une ligne


▪ /* ceci exprime un commentaire sur plusieurs lignes
ceci exprime un commentaire sur plusieurs lignes */ 11
Chapitre 2: Les bases du C++
5. Les variables
5.1. Les types des variables : C++ gère les variables de tout type. Le tableau
suivant résume les types des données :
Types Taille Description
int 4 bytes Tous les entiers sauf les nombres à virgules
float 4 bytes Ce sont les nombres décimaux. pouvant contenir
jusqu’à 7 chiffres décimaux
double 8 bytes Ce sont des nombres décimaux , pouvant contenir
jusqu’à 15 chiffres décimaux
boolean 1 byte Ce sont les booléens pouvant prendre que deux
valeurs (vrai ou faux)
char 1 byte Ce sont tout types de caractère
12
Chapitre 2: Les bases du C++
Type Taille Description
String Non définie Chaîne de caractères
5.2. Syntaxe déclaration : type nom_variable;
On peut déclarer plusieurs variables de même type sur la même ligne.
exemple : int x=5, y=8, z=9;
6. Les opérateurs
6.1. Affectation : consiste à assigner une valeur à une variable
Exemple: int x = 13;
6.2. affectation supplémentaire: consiste à affecter une valeur
supplémentaire à une variable
Exemple : int x = 10; x += 5; (équivaut à x = x+5).
Chapitre 2: Les bases du C++
6.3. Autres opérateurs
operateur Exemple Signification
= x= 8 x =8
+= x+ = 2 x = x+2
-= x- = 4 x = x-4
*= x*=3 x = x*3
/= x /= 3 x=x/3
%= x% =3 x=x%3
>>= x >>= 3 x = x >> 3
<<= x <<= 3 x = x << 3

13
Chapitre 2: Les bases du C++
6.4. Les opérateurs arithmétiques : le tableau ci-dessous résume les
opérateurs arithmétique:
operateur Nom Description Exemple

+ addition Additionne deux valeurs x +y


- soustraction Soustrait une valeur d'une autre x - y
* multiplication Multiplie une valeur par une autre x * y

/ division Divise une valeur par une autre x / y


% modulo Renvoie le reste d’une division entière x %y
++ incrément Augmente la valeur d'une variable de 1 ++ x
- - décrément Décrémente la valeur d'une variable de 1 --x
14
Chapitre 2: Les bases du C++
6.5 Les opérateurs de comparaison : Ils servent à comparer deux
variables. Le tableau suivant résume les opérateurs de comparaison

operateur Nom Exemple

= = Égal à x==y
!= Différent de x != y
> Supérieur à x> y
< Inférieur à x<y
>= Supérieur ou égal x >= y
<= Inférieur ou égal x <= y
15
Chapitre 2: Les bases du C++
6.6. Les opérateurs logiques :
Les opérateurs logiques sont utilisés pour déterminer la logique
entre les variables ou les valeurs:

Operateurs Noms Description Example

&& ET Retourne vrai si toutes les x < 0 && x <9


conditions sont vérifiées
|| OU Retourne quand une des conditions x > 0 || x > 4
est vérifiées
! NON Retourne faux si le résultat est vrai !(x<5 && x<10)
et retourne vari si le resultat est
faux 16
Chapitre 2: Les bases du C++
7. Les opérations sur les chaînes de caractères (strings) .
Les variables de type string contiennent des chaînes de caractères.
Pour travailler avec le type string il faut au préalable ajouter au fichier
d’entête la librairie <string> : #include <string>
7.1. La concaténation:
L’opérateur + permet de concaténer deux caractères ou chaines de
caractères
Exemple :
#include <string>
int main(){
string nom = “EKOMBAND “;
string prenom = “Joëlle";
string nomComplet = nom + prenom;
cout << nomComplet;
return 0;} 17
Chapitre 2: Les bases du C++
7.2. La longueur de String
Une chaîne en C ++ est en fait un objet. Cet objet possède des fonctions qui
permettant d’effectuer certaines opérations sur les chaînes. La fonction
length() renvoie la taille d’une chaîne de caractères.
7.3. Accès aux caractères d’une chaine
✓ on peut accéder aux caractères d’un string à travers sa position
référencée par l’index
exemple : String myString = "Bonjour";
cout << myString[0]; //renvoie B
✓ On peut aussi affecter et changer la valeur d’un caractère à une
position donnée :
exemple : string myString = ”Bonjour";
myString[0] = ’L’;
cout << myString; // renvoie ”Lonjour”; 18
Chapitre 2: Les bases du C++
8- Les fonctions mathématiques
De nombreuses fonctions qui permettent d'effectuer des tâches
mathématiques sur les nombres.
✓ La fonction max(x,y) renvoie la plus grande valeur entre x et y
✓ La fonction min(x,y) renvoie la plus petite valeur entre x et y
exemples : cout << max(2, 8); //renvoie 8
cout << min(3, 10); //renvoie 3
9. Autres fonctions
Le fichier d’entête <cmath> permet d’obtenir les autres fonctions telles:

19
Chapitre 2: Les bases du C++
Fonction Description
Sqrt(x) Renvoie la racine carrée de x
Round(x) Renvoie une valeur arrondis de x
Log(x) Renvoie le logarithme de x
abs(x) Renvoie la valeur absolue de x
acos(x) Renvoie l'arc cosinus de x, en radians
asin(x) Renvoie l'arc sinus de x, en radians
atan(x) Renvoie l'arc tangente de x, en radians
cbrt(x) Renvoie la racine cubique de x
20
Chapitre 2: Les bases du C++
ceil(x) Renvoie la valeur de x arrondie à son entier superieur le plus proche
cos(x) Renvoie le cosinus de x, en radians
cosh(x) Renvoie le cosinus hyperbolique de x, en radians
x
exp(x) Renvoie la valeur de E
x
expm1(x) Renvoie e -1
fabs(x) Renvoie la valeur absolue d'un flottant x
fdim(x, y) Renvoie la différence positive entre x et y
floor(x) Renvoie la valeur de x arrondie à son entier inférieur le plus proche
2 2
hypot(x, y) Renvoie sqrt(x +y ) sans débordement ou sous-débordement
intermédiaire
fma(x, y, z) Renvoie x * y + z sans perte de précision 21
Chapitre 2: Les bases du C++
10. Les valeurs booleénnes
10.1. Une variable booléenne se déclare avec le mot clé bool .
exemple : bool reponse = true;
10.2. les expressions booléennes
ce sont des expression qui renvoient une valeur booléenne, 1 (true) ou 0 (false)
Exemples : int x = 10, y = 9 ;
cout << (x > y); // retourne 1 (true), parceque 10 est supérieur à 9
cout <<(x==y); //retourne 0 (false).
11. Les structures de contrôle.
11.1. Les test simples
Syntaxe:
if (condition){
//bloc d’instructions à executer
}

22
Chapitre 2: Les bases du C++
11.2. structure de contrôle alternatives
if (condition){
//bloc d’instructions à executer
}else{
//bloc d’instructions à exécuter
}
11.3. Les structures à choix multiples.
Syntaxe: switch(expression) {
case x:
// bloc de code
break;
case y:
// bloc de code
break;
default:
// bloc de code} 23
Chapitre 2: Les bases du C++
Exemple : String jour = " ";
cout<<"entrez un numéro de jour" ;
cin>>jour
switch(jour) {
case 1:
cout<< “lundi“;
break;
case 2:
cout<< “mardi“;
break;
default:
cout<<“vous avez saisi un autre jour”;
}
24
Chapitre 2: Les bases du C++
11.3. La boucle while:
La boucle while parcourt un bloc de code tant qu'une condition
spécifiée est vraie:
Syntaxe:
while (condition){
//bloc de code
}

Exemple :
int i = 0;
while (i < 12) {
cout << i << "\n";
i+ = 1;
} 25
Chapitre 2: Les bases du C++
11.4. La boucle do/while
Syntaxe:
do {
// bloc de code à exécuter
}
while (condition);
Exemple:
int i = 0;
do {
cout << i << "\n";
i++;
}
while (i < 12);
26
Chapitre 2: Les bases du C++
11.5. La boucle for
Syntaxe:
for (condition 1; condition 2; condition 3) {
// bloc de code à executer
}
Exemple:
for (int i = 0; i < 5; i++) {
cout << i << "\n";
}
- L’instruction break est utilisée pour faire une sortie forcée d’une
boucle.

27
Chapitre 2: Les bases du C++
Exemple:
for (int i = 0; i < 10; i++) {
if (i == 4) {
break;
}
cout << i << "\n";
}
- L’instruction continue
L'instruction "continue" rompt une itération (dans la boucle), si une
condition spécifiée se produit, et continue avec l'itération suivante dans la
boucle.
Exemple : for (int i = 0; i < 10; i++) {
if (i == 4) {
continue;
} cout << i << "\n"; } 28
Merci de votre attention
Chapitre 3: Les tableaux

Sommaire
1. Introduction
2. Initialisation d’un tableau
3. Manipulation d’un tableaux
4. Les tableaux dynamiques
5. Les tableaux à double dimension

29
Chapitre 3: Les tableaux
1- Introduction :
Les tableaux sont des variables permettant de stocker plusieurs valeurs
de même type à la fois. Leur manipulation est tout à fait particulière par
rapport à d’autres variables. La suite de ce cours nous apprends à créer un
tableau et comment le manipuler en c++.

2. comment déclarer un tableau ?


Pour déclarer un tableau, on précise le types des valeurs qui y seront
stockés, le nom du tableau suivi de crochets dans lequel on précisera le
nombre des valeurs qui y seront stockées :
exemples :
int tab[6] //ce tableau devra stocker six entiers.
string nom[4] //stock quatre chaines de caractères.
etc…
30
Chapitre 3: Les tableaux
2- Initialisation :
L’initialisation d’une variable consiste à l’affecter une valeur initiale.
Exemples :
int nombres[5] ={10, 17, 3, 9, 30}
String noms[3] = {"Alassane", "Jérémie", "Norbert"}

3. Manipulation
3.1. Accès à l’élément d’un tableau.
L’accés aux éléments d’un tableau se fait à travers une variable de type
entier appelé indice.
- En C++, le premier élément de la case du tableau se trouve à l’indice 0.
Exemple:
double nombres[4] //déclaration du tableau
nombres[1] = 12 //affectation de la valeur 12 à la case i=1
31
Chapitre 3: Les tableaux
3.2. Parcours d’un tableau.
La boucle for permet de parcourir un tableau.
syntaxe : for(int i =0; i< nombre_element_tableau; i++){bloc de code}
Exemple :
string voiture[4] = {"Toyota", "Mazda", "Izuzu", "Peugeot"}
for (int i=0; i<4; i++){
cout << i << ": " << voiture[i] << "\n";
}
3.3. affectation d’une valeur dans un tableau.
Exemple :
string voiture[4] = {"Toyota", "Mazda", "Izuzu", "Peugeot"}
voiture[3]="Volvo"; //remplace "Volvo" à la place de "Izuzu"
Les valeurs de voiture deviennent: {"Toyota", "Mazda", " Volvo ", "Peugeot"}

32
Chapitre 3: Les tableaux
4. Les tableaux dynamiques.
Ce sont des tableaux dont la taille n’a pas été précisée à la déclaration. Le
tableau prends la taille du nombre d’éléments qui lui seront affectés.
Exemple :
string nom[] = {"Marlène", "Guy", "Jacques", "Adrien", "Edgard"}

5. La taille d’un tableau.


La fonction prédéfinie sizeof() renvoie, en octet, la taille d’un tableau
Exemple:
int Nombers[5] = {10, 20, 30, 40, 50};
cout << sizeof(Nombers);

33
Chapitre 3: Les tableaux
6. Les tableaux à doubles-dimensions.
Ce sont des tableaux à lignes-colonnes, on les manipule à l’aide de deux
indices (i=indice des lignes puis j=indice des colonnes)

6.1. Déclaration et initialisation :


soit un tableau des caractères
char tab[2][4] ={{"1", "2", "3", "4"}
{"a", "b", "c", "d", } };

34
Merci de votre attention
Chapitre 4: Les pointeurs et les références

Sommaire
1. Notions d’adresses
2. Notions de pointeurs
3. Notion des références
4. Pointers vs références

35
Chapitre 4: Les pointeurs et les references
1. Notions d’adresses.
une mémoire est constituée de cases de 8 bits appelées octets. chaque
variable(donnée) stockée en mémoire occupe une ou plusieurs de ces cases,
selon son type et sa taille (une donnée de type char occupera une seule case,
tandis qu'une variable de type long occupera 4 cases consécutives…).
Chacune de ces "cases" (appelées blocs) est identifiée par un numéro. Ce
numéro s'appelle adresse. On peut donc accéder à une variable de 2 façons :
• grâce à son nom;
• grâce à l'adresse du premier bloc alloué à la variable;
Il suffit donc de stocker l'adresse de la variable dans un pointeur ou une
référence (il est prévu pour cela) afin de pouvoir accéder à celle-ci (on dit
que l’on "pointe vers la variable").

36
Chapitre 4: Les pointeurs et les references
2. Notion de Pointeur
2.a. Définition:
Un pointeur est une variable qui stocke la valeur de l'adresse mémoire
d'une autre variable. Comme toute variable, un pointeur doit d’abord faire
l’objet d’une déclaration avant de l'utiliser.

2.b. Déclaration:
La syntaxe générale est: type *nom_variable;
- Type représente le type de base (int, char, string, …..)
- * signifie qu’il s’agit d’une variable spéciale (pointeur)
2.c. Accès à un pointeur:
type *nom_variable=&autre_variale//initialise nom_variable;
cout<<nom_variable // renvoie l’adresse mémoire du pointeur;
cout <<*nom_variable //renvoie la valeur stockée à l’adresse pointée;
37
Chapitre 4: Les pointeurs et les references
exemple: soit un programme
#include <iostream>
using namespace std;
int main() {
int a=98;
int *x = &a;
int c = *x + 5;
cout << " -------La variable a vaut : --------------" <<a<< endl;
cout <<"\n";
cout << "L\’adresse memeoire de la variable a vaut : " << x << endl;
cout <<"\n";
cout << "La valeur stockée à l’adresse pointée à la varialbe a vaut: " << *x
<< endl;
return 0;
} 38
Chapitre 4: Les pointeurs et les references
2. Notion de référence.
Une référence est une référence à une variable existante.
2.a. Déclaration et initialisation.
Syntaxe: type &nom_variable=variable_referencée;
Exemple:
string pays= "congo" ;
string &paysReference=pays;
Si on demande de renvoyer sur la console les valeurs de pays et
paysReference:
Cout<<pays //renvoie congo
Cout<< paysReference //renvoie aussi congo

39
Chapitre 4: Les pointeurs et les references
3. Références vs pointeurs
Les références se confondent souvent avec les pointeurs, mais trois
différences majeures entre les références et les pointeurs sont -

on ne peut pas avoir de référence NULL. Elle est toujours supposée


connectée à un élément de stockage légitime.

Une fois qu'une référence est initialisée à un objet, elle ne peut pas être
modifiée pour faire référence à un autre objet alors qu’un pointeur peut être
pointé vers un autre objet à tout moment.

Une référence doit être initialisée lors de sa création. Les pointeurs peuvent
être initialisés à tout moment.

40
Merci de votre attention
Chapitre 5: Les types structurés

Sommaire
1. Définition d’une structure
2. Déclaration
3. Accès aux membres d’une structure
4. Les structures nommées

41
Chapitre 5: Les types structurés

1. Définition: on appelle structure en c++; tout variable pouvant regrouper


ensemble plusieurs variables de types différents (int, string, bool, etc….).
Chaque variable est appelée membre de la structure

2. Déclaration d’une structure :


On déclare une variable structure en le précédant du mot clé "struct".
Syntaxe générale:
struct{
type_variable membre_1;
type_variable membre_2;
……………………………………..;
type_variable membre_n;
}nom_structure; //c’est aussi une variable
42
Chapitre 5: Les types structurés
Exemple: soit une structure permettant de rassembler les informations
(nom, prenom, age) relatives à un étudiant.
Déclaration de etudiant:
struct { // declaration de la structure
string nom;
string prenom;
int age;
} etudiant;
Si on veut avoir plusieurs structures à la fois:
struct { // declaration de la structure
string nom;
string prenom;
int age;
} etudiant1, etudiant2,….., etudiantn;
43
Chapitre 5: Les types structurés
3. Accès aux membres d’une structure.
on utilise le nom de la structure suivie de l’opérateur "." puis le membre
Exemple: si nous considérons par exemple la structure étudiant précédente:
struct {
string nom;
string prenom;
int age;
} etudiant1; etudiant2,….., etudiantn;

3.a. Assignation:
pour etudiant1
etudiant1.nom = "Jean";
etudiant1.prenom = "Pierre";
etudiant1.age=21;
44
Chapitre 5: Les types structurés
pour etudiant2:
etudiant2.nom = "OKOLA";
etudiant2.prenom = "Vincent";
etudiant2.age=19;
3.b. récupération:
Supposant qu’on veut récupérer dans la variable nom la valeur du nom de la
structure etudiant2, on dira:
string nom; //déclaration de la variable
nom=etudiant2.nom;
cout<<nom; //renvoie OKOLA

4. Les structures nommées.


Une structure nommée consiste à assigner un nom à la structure sous
forme de type de structure.
45
Chapitre 5: Les types structurés
En donnant un nom à la structure, on peut la traiter comme un type de
données. Cela signifie qu’on peut déclarer des variables avec cette structure
n'importe où dans le programme et à tout moment.

4.a. Déclaration de la structure nommée.


considérons la même structure étudiant:
struct etudiant {
string nom;
string prenom;
int age;
};
etudiant représente le type de la structure. Et donc on peut déclarer les
structures de type etudiant :
etudiant etudiant1; //déclaration de la structure de type etudiant
etudiant etudiant2; 46
Chapitre 5: Les types structurés
Exemple:soit un petit programme suivant
#include <iostream>
#include <string>
using namespace std;

struct Books {
string title;
string author;
string subject;
int book_id;
};

int main() {
struct Books Book1; // Declare Book1 of type Book
struct Books Book2; // Declare Book2 of type Book 47
Chapitre 5: Les types structurés
// book 1 specification
Book1.title="Learn C++ Programming";
Book1.author= "Chand Miyan";
Book1.subject= "C++ Programming";
Book1.book_id = 6495407;

// book 2 specification
Book2.title= "Telecom Billing";
Book2.author="Yakit Singha";
Book2.subject="Telecom";
Book2.book_id = 6495700;

// Print Book1 info


cout << "Book 1 title : " << Book1.title <<endl;
cout << "Book 1 author : " << Book1.author <<endl; 48
Chapitre 5: Les types structurés

cout << "Book 1 subject : " << Book1.subject <<endl;


cout << "Book 1 id : " << Book1.book_id <<endl;
// imprimer les informations de Book2 sur la console
cout << "Book 2 title : " << Book2.title <<endl;
cout << "Book 2 author : " << Book2.author <<endl;
cout << "Book 2 subject : " << Book2.subject <<endl;
cout << "Book 2 id : " << Book2.book_id <<endl;
return 0;
}
49
Chapitre 6: Le C++ et la P.O.O
Sommaire
1. Qu’est-ce que la programmation orientée objet?
2. Notions de classe.
3. Notions d’objets et méthodes.
4. Les modificateurs d’accès.
5. Notion d’encapsulation
6. Notion d’héritage
7. Le polymorphisme
50
Le C++ et la programmation orientée objet
1. c’est quoi la programmation orientée objet?
C’est une programmation qui encapsule les données et les traitements
dans les entités appelées classes.
Avantages :
• Programmes plus faciles et rapides à exécuter;
• Apporte une structure claire et facilement maintenable;
• Réutilisation du code.

2. Notion de classe:
2.1. c’est quoi une classe? :
En terme générale, une classe est une collection d’objets ayant un état et
un comportement.
En d’autre terme, une classe est une entité qui encapsule les données et les
traitements
51
Le C++ et la programmation orientée objet
Les données/état sont représentés par les attributs et les traitements/
comportement les méthodes.
Une classe est caractérisée par un identificateur (nom de la classe) et sa
visibilité (public, privée ou protected).
Exemples : la classe des animaux, la classe des voitures

2.1. Définition d’une classe en c++:


on commence par le mot clé "class" suivi du nom de la classe.
Syntaxe : class nom_classe {
public:
type1 attribut1;
type2 attribut2; Attributs/données
};
Le mot clé "public" détermine le mode d'accès ou visibilité aux membres des
autres classes. 52
Le C++ et la programmation orientée objet
3. Notion d’objet et méthodes:
une classe est en quelque sorte une moule destinée à fabriquer les objets
d’un type donné. Un objet est donc une variable définie par la classe à
laquelle il appartient.
3.a. Comment déclarer un objet ?
nom_classe nom_objet;
Exemple: soit la classe suivante.
class fruit {
public:
string couleur;
string saveur;
double prix;
};
fruit orange ; //déclaration de l’objet orange
fruit mangue; //déclaration de l’objet mangue 53
Le C++ et la programmation orientée objet
3.b. accès aux membres d’une classe par un objet ?
on utilise le nom de l’objet suivi de l’opérateur "." et du nom du membre
Exemple:
orange.couleur="jaune";
orange.saveur="sucrée"; Affectations
orange.prix="12.50";

double prixfruit = orange.prix; //récupération

3.c. Notion de méthodes.


Une méthode est une sorte de fonction encapsulée dans une classe. La
méthode définit un traitement.
3.c.1. Déclaration d’une méthode.
Deux façons de déclarer une méthode :
- à l’intérieur de la classe 54
Le C++ et la programmation orientée objet
Exemple: soit la classe des couleurs suivante:
class fruit {
public:
string couleur;
string saveur; attributs
double prix;
public:
void pourrir(){ //méthode sans paramètres
cout<<"ce fruit est à jeter";
}
bool changerCouleur(string autrecouleur){ //méthode avec paramètres
bool rep;
if (couleur !=autrecouleur){
couleur=autrecouleur;
rep=true;
}
return rep;}}; 55
Le C++ et la programmation orientée objet
- À l’extérieur de la classe
Exemple: considérons toujours la classe des fruits
void fruit :: pourrir(){
cout<<"ce fruit est à jeter";
}
3.c.2. Notion de constructeur.
Un constructeur est une méthode spéciale:
- Il porte le même nom que la classe;
- Pas de type de retour;
- Sert à fabriquer les instances (ou objets) de la classe.
Comme toute méthode il existe des constructeurs sans parametre et avec
paramètres.

56
Le C++ et la programmation orientée objet
4- Les modificateurs d’accès
Les modificateurs d’accès (ou visibilité) définissent la manière dont les
membres d’une classe (attributs et méthodes) peuvent être accessibles .
On en distingue 3 types :
- public: les membres sont accessibles à l’extérieur de la classe;
- protected: les membres ne sont accessibles à l’extérieur de la classe que
par les classes qui héritent de la classe mère;
- private: les membres ne sont accessibles qu’à l’intérieur de la classe.

5- Notion d’encapsulation
L’encapsulation consiste à déclarer les attributs d’une classe private et les
rendre accessibles hors de la classe par les méthodes qu’on appelle gets/sets.
Exemple: soit la classe des fruits suivante:

57
Le C++ et la programmation orientée objet
class fruit {
private:
string couleur;
string saveur;
double prix;
public:
void setCouleur(string color){
couleur = color;
}
string getCouleur(){
return couleur;
}
etc….
};
58
Le C++ et la programmation orientée objet
❑ Pourquoi l’encapsulation ?
- Meilleur contrôle des données
- Raisons de sécurité

6-Notion d’héritage
L’héritage est la faculté donnée à une classe appelée "classe fille" d’hériter
les attributs et/ou les méthodes d’une autre classe appelée "classe mère".

7- Le polymorphisme

59

Vous aimerez peut-être aussi