Introduction au langage C++

Post on 16-Jan-2016

87 views 3 download

description

Introduction au langage C++. But. Programmer une classe en C++ permettant de faire du calcul par intervalles L’utiliser pour résoudre un problème de localisation « range only » (EX : plusieurs émetteurs et récepteurs radar qui tentent de localiser un cible). > Sommaire. - PowerPoint PPT Presentation

Transcript of Introduction au langage C++

Introduction au langage C++

Introduction au langage C++21/04/23 2

But

Programmer une classe en C++ permettant de faire du calcul par intervalles

L’utiliser pour résoudre un problème de localisation « range only » (EX : plusieurs émetteurs et récepteurs radar qui tentent de localiser un cible)

Introduction au langage C++21/04/23 3

> Sommaire1. Introduction au langage C++

a) Présentationb) Hello World!c) Namespaced) Référencese) Classesf) Constructeurs/destructeur et surchargeg) Liste d’initialisationh) Opérateursi) Fonctions amiesj) Héritagek) Classes abstraitesl) Autres

Introduction au langage C++21/04/23 4

Introduction au langage C++

Introduction au langage C++21/04/23 5

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…)

Introduction au langage C++21/04/23 6

Hello World!

Notion de namespace

Opérateur

Introduction au langage C++21/04/23 7

Namespace

Plus besoin d’utiliser std::

Introduction au langage C++21/04/23 8

Références

Paramètre passé par référence

Introduction au langage C++21/04/23 9

Classes

TestClass.cpp

TestClass.h

Main.cpp

Introduction au langage C++21/04/23 10

Constructeurs/Destructeur et surcharge

TestClass.cppTestClass.h

Introduction au langage C++21/04/23 11

Liste d’initialisation

L’initialisation des membres dans le constructeur peut être faite de cette façon

Introduction au langage C++21/04/23 12

Opérateurs

TestClass.cppTestClass.h

Introduction au langage C++21/04/23 13

Opérateurs

Résultat

Main.cpp

Introduction au langage C++21/04/23 14

Fonctions amies

TestClass.h

Introduction au langage C++21/04/23 15

Fonctions amies

TestClass.cpp

Introduction au langage C++21/04/23 16

Fonctions amies

Main.cpp

Introduction au langage C++21/04/23 17

Héritage

Classe de base

Classe dérivéesAppel à un constructeur spécifique de la classe de base

Introduction au langage C++21/04/23 18

Classes abstraites

Classe de base abstraite

Classe dérivées

Introduction au langage C++21/04/23 19

Classes abstraites

Introduction au langage C++21/04/23 20

Autres apports du C++ par rapport au C

new, delete et new[], delete[] en C++ à la place de malloc() et free() en C pour utiliser des pointeurs et tableaux à taille variable

Mécanisme d’exceptions Templates Classes vector, list…

Introduction au langage C++21/04/23 21

Annexes

Introduction au langage C++21/04/23 22

Le C est inclus (à 99%) dans le C++ : quand on fait du C, on fait aussi du C++ mais l’inverse n’est pas forcément vrai

Du code C ou C++ peut être écrit dans un fichier .cpp mais seul du code C peut être écrit dans un fichier .c

Dans un .h, on peut écrire du C ou du C++, mais il faut que les .c n’incluent que des .h avec du C

Introduction au langage C++21/04/23 23

Différences entre les compilateurs Windows et Linux– Linux

• Le compilateur C le plus utilisé est GCC• Son équivalent C++ est G++

– Windows• GCC/G++ existent avec Cygwin et MinGW• Différents IDE existent et fournissent leurs propres compilateurs

– Microsoft Visual Studio avec CL– Borland C++ Builder / Turbo C++ / Borland Developper

Studio avec BCC32– Code Blocks / Dev-C++ avec MinGW

Introduction au langage C++21/04/23 24

Différences entre les compilateurs Windows et Linux

Equivalences Linux / Windows

Linux/GCC Windows/Visual C++

Fichiers objets .o .obj

Bibliothèque statique .a .lib

Bibliothèque dynamique.so .dll

Exécutable - .exe

Introduction au langage C++21/04/23 25

Utilisation de bibliothèques de fonctions externes

Fichiers .c/.cpp

Fichiers .obj

Fichier .exe

Fichier .lib

Fichier .dll

Compilation

Est utilisée

Edition des liensEdition des liens

Regroupement

Edition des liens

Introduction au langage C++21/04/23 26

Utilisation de bibliothèques de fonctions externes– Cas où on possède des fichiers .h et .c/.cpp

• Exemple : on a Main.cpp qui doit appeler des fonctions déclarées dans Lib.h et définies dans Lib.cpp

– On met #include « Lib.h » dans Main.cpp– On copie Lib.h et Lib.cpp dans le dossier de Main.cpp– On compile et lie Lib.cpp et Main.cpp en les ajoutant au

projet

Introduction au langage C++21/04/23 27

Utilisation de bibliothèques de fonctions externes– Cas où on possède des fichiers .h, .lib et .dll

• Exemple : on a Main.cpp qui doit appeler des fonctions déclarées dans Lib.h et définies dans Lib.lib et Lib.dll

– On met #include « Lib.h » dans Main.cpp– On ajoute le dossier de Lib.h dans les chemins de

recherche de fichiers .h du projet– On ajoute le dossier de Lib.lib dans les chemins de

recherche de fichiers .lib du projet– On compile Main.cpp et lie avec Lib.lib en les

ajoutant au projet– On ajoute le dossier de Lib.dll à la variable

d’environnement PATH du système