31
Du C au C++ - Découverte du paradigme objet Du C au C++ - Découverte du paradigme objet Florent DIEDLER

C++ - chapitre 2 - differences C et CPP

Embed Size (px)

DESCRIPTION

Programmation C++

Citation preview

Page 1: C++ - chapitre 2 - differences C et CPP

Du C au C++ - Découverte du paradigme objetDu C au C++ - Découverte du paradigme objet

Florent DIEDLER

Page 2: C++ - chapitre 2 - differences C et CPP

Sommaire

I. Du C au C++ : concepts, diagramme de classes et vocabulaire

II. Principales différences entre le C et le C++II. Principales différences entre le C et le C++

III. Classes et objets

IV. Conteneurs : vecteurs, piles et files

V. Pointeurs, références et surcharges

VI. Héritage et polymorphisme

Florent DIEDLER

Page 3: C++ - chapitre 2 - differences C et CPP

Sommaire (détail)

� II. Principales différences entre le C et le C++A. Les flux d’entrée et sortie

B. Les types scalairesB. Les types scalaires

C. La déclaration des variables

D. La gestion de la mémoire

E. Les paramètres par défaut

F. La surcharge de fonctions

G. Les fonctions « inline »

H. Les chaines de caractères

Florent DIEDLER

Page 4: C++ - chapitre 2 - differences C et CPP

Objectifs

� Appréhender les premières lignes de C++

Comprendre les différences entre le C et C++� Comprendre les différences entre le C et C++

Florent DIEDLER

Page 5: C++ - chapitre 2 - differences C et CPP

Du C au C++� Les flux d’entrée et de sortie

En langage C En langage C++

stdout cout

stdin cin

� Les fonctions d’entrée/sortie

stdin cin

stderr cerr

En langage C En langage C++

printf <<

scanf >>

Florent DIEDLER

Page 6: C++ - chapitre 2 - differences C et CPP

Du C au C++� Exemple C-1 : Saisie d’un entier et d’une chaine de

caractères avec affichage

Florent DIEDLER

Page 7: C++ - chapitre 2 - differences C et CPP

Du C au C++� Exemple CPP-1 : Saisie d’un entier et d’une chaine de

caractères avec affichage

Florent DIEDLER

Page 8: C++ - chapitre 2 - differences C et CPP

Du C au C++� Les types scalaires

�Entier : int

�Caractère : char

�Réel : float, double�Réel : float, double

�Pointeur : *

�Référence : & (NOUVEAUTE en C++)

�Booléen : bool (NOUVEAUTE en C++)

Florent DIEDLER

Page 9: C++ - chapitre 2 - differences C et CPP

Du C au C++� Exemple C-2 : Utilisation du booléen

Florent DIEDLER

Page 10: C++ - chapitre 2 - differences C et CPP

Du C au C++� Exemple CPP-2 : Utilisation du booléen

Florent DIEDLER

Page 11: C++ - chapitre 2 - differences C et CPP

Du C au C++� Déclaration des variables

�Au milieu d’une fonction (possible aussi avec une version récente du C)

�Dans une boucle ☺�Dans une boucle ☺

Florent DIEDLER

Page 12: C++ - chapitre 2 - differences C et CPP

Du C au C++� Exemple C-3 : Déclaration de variable dans boucle =>

IMPOSSIBLE en C

Florent DIEDLER

Page 13: C++ - chapitre 2 - differences C et CPP

Du C au C++� Exemple CPP-3 : Déclaration de variable dans boucle

Florent DIEDLER

Page 14: C++ - chapitre 2 - differences C et CPP

Du C au C++� Allocation dynamique de mémoire

En langage C En langage C++

malloc new

� Pour les tableaux : new[] et delete[]

� Attention : new et delete sont des opérateurs !

free delete

Florent DIEDLER

Page 15: C++ - chapitre 2 - differences C et CPP

Du C au C++� Exemple C-4 : Allocation mémoire

Florent DIEDLER

Page 16: C++ - chapitre 2 - differences C et CPP

Du C au C++� Exemple CPP-4 : Allocation mémoire

Florent DIEDLER

Page 17: C++ - chapitre 2 - differences C et CPP

Du C au C++� Déclaration des structures/énumérations

�Typedef automatique

� Déclaration des unions� Déclaration des unions

�Typedef automatique

Florent DIEDLER

Page 18: C++ - chapitre 2 - differences C et CPP

Du C au C++� Exemple C-5 : Déclaration d’une structure

Florent DIEDLER

Page 19: C++ - chapitre 2 - differences C et CPP

Du C au C++� Exemple CPP-5 : Déclaration d’une structure

Florent DIEDLER

Page 20: C++ - chapitre 2 - differences C et CPP

Du C au C++� Pour les fonctions :

�Paramètres par défaut acceptés

�Surcharges de fonction acceptées

�Fonctions « inline »�Fonctions « inline »

Florent DIEDLER

Page 21: C++ - chapitre 2 - differences C et CPP

Du C au C++� Exemple C-6 : Fonction avec valeur par défaut

� IMPOSSIBLE EN C !! (ne compile pas)

Florent DIEDLER

Page 22: C++ - chapitre 2 - differences C et CPP

Du C au C++� Exemple CPP-6 : Fonction avec valeur par défaut

� Ici le 3ème paramètre « c » est facultatif

� Appel du sous programme « add »

Florent DIEDLER

Page 23: C++ - chapitre 2 - differences C et CPP

Du C au C++� Exemple C-7 : Surcharge de fonction

� IMPOSSIBLE EN C !! (ne compile pas)

Florent DIEDLER

Page 24: C++ - chapitre 2 - differences C et CPP

Du C au C++� Exemple CPP-7 : Surcharge de fonction

Florent DIEDLER

Page 25: C++ - chapitre 2 - differences C et CPP

Du C au C++� Exemple CPP-7 : Surcharge de fonction (suite)

Florent DIEDLER

Page 26: C++ - chapitre 2 - differences C et CPP

Du C au C++� Exemple C-8 : Inline et fonctions

�Possible en C depuis la norme « C99 »

Florent DIEDLER

Page 27: C++ - chapitre 2 - differences C et CPP

Du C au C++� Exemple CPP-8 : Inline et fonctions

�Avantage : rapidité d’exécution

�Désavantage : code plus gros en taille

Florent DIEDLER

Page 28: C++ - chapitre 2 - differences C et CPP

Du C au C++� Les chaines de caractères

En langage C En langage C++

strlen String.size()

strcpy / strncpy Opérateur =

� Enfin un objet « String »

�Opérations élémentaires très simplifiées en C++ !!

strcpy / strncpy Opérateur =

strcat / strncat Opérateur +=

strcmp / strncmp Opérateurs ==, >=, <=, >, <

Florent DIEDLER

Page 29: C++ - chapitre 2 - differences C et CPP

Du C au C++� Exemple C-9 : Chaines de caractères

� Attention aux débordements de tableau…

Florent DIEDLER

Page 30: C++ - chapitre 2 - differences C et CPP

Du C au C++� Exemple CPP-9 : Chaines des caractères

� Avantage énorme !

�Plus besoin de vérifier les débordements !!

Florent DIEDLER

Page 31: C++ - chapitre 2 - differences C et CPP

Prochaine séance

� Découvertes des classes et objets

Florent DIEDLER