Introduction au langage C But Programmer une classe
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) Introduction au langage C++ 12/6/2020 2
> Sommaire Introduction 1. a) b) c) d) e) f) g) h) i) j) k) l) Introduction au langage C++ Présentation Hello World! Namespace Références Classes Constructeurs/destructeur et surcharge Liste d’initialisation Opérateurs Fonctions amies Héritage Classes abstraites Autres 12/6/2020 3
Introduction au langage C++ 12/6/2020 4
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++ 12/6/2020 5
Hello World! Notion de namespace Opérateur Introduction au langage C++ 12/6/2020 6
Namespace Plus besoin d’utiliser std: : Introduction au langage C++ 12/6/2020 7
Références Paramètre passé par référence Introduction au langage C++ 12/6/2020 8
Classes Test. Class. cpp Test. Class. h Main. cpp Introduction au langage C++ 12/6/2020 9
Constructeurs/Destructeur et surcharge Test. Class. h Introduction au langage C++ Test. Class. cpp 12/6/2020 10
Liste d’initialisation L’initialisation des membres dans le constructeur peut être faite de cette façon Introduction au langage C++ 12/6/2020 11
Opérateurs Test. Class. h Introduction au langage C++ Test. Class. cpp 12/6/2020 12
Opérateurs Résultat Main. cpp Introduction au langage C++ 12/6/2020 13
Fonctions amies Test. Class. h Introduction au langage C++ 12/6/2020 14
Fonctions amies Test. Class. cpp Introduction au langage C++ 12/6/2020 15
Fonctions amies Main. cpp Introduction au langage C++ 12/6/2020 16
Héritage Classe de base Classe dérivées Introduction au langage C++ Appel à un constructeur spécifique de la classe de base 12/6/2020 17
Classes abstraites Classe de base abstraite Classe dérivées Introduction au langage C++ 12/6/2020 18
Classes abstraites Introduction au langage C++ 12/6/2020 19
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++ 12/6/2020 20
Annexes Introduction au langage C++ 12/6/2020 21
§ 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++ 12/6/2020 22
§ 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 Min. GW • Différents IDE existent et fournissent leurs propres compilateurs – Microsoft Visual Studio avec CL – Borland C++ Builder / Turbo C++ / Borland Developper Studio avec BCC 32 – Code Blocks / Dev-C++ avec Min. GW Introduction au langage C++ 12/6/2020 23
§ Différences entre les compilateurs Windows et Linux Equivalences Linux / Windows Fichiers objets Linux/GCC Windows/Visual C++ . obj . a . lib . so . dll - . exe Bibliothèque statique Bibliothèque dynamique Exécutable Introduction au langage C++ 12/6/2020 24
§ Utilisation de bibliothèques de fonctions externes Fichiers. c/. cpp Compilation Fichiers. obj Regroupement Edition des liens Fichier. lib Edition des liens Fichier. dll Fichier. exe Est utilisée Introduction au langage C++ 12/6/2020 25
§ 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++ 12/6/2020 26
§ 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 Introduction au langage C++ 12/6/2020 27
- Slides: 27