Intro C++

S
Introduction au langage
C++
Introduction au langage C++
30/09/2023 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++
30/09/2023 3
> Sommaire
1. Introduction au langage C++
a) Présentation
b) Hello World!
c) Namespace
d) Références
e) Classes
f) Constructeurs/destructeur et surcharge
g) Liste d’initialisation
h) Opérateurs
i) Fonctions amies
j) Héritage
k) Classes abstraites
l) Autres
Introduction au langage C++
30/09/2023 4
Introduction au langage C++
Introduction au langage C++
30/09/2023 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++
30/09/2023 6
Hello World!
Notion de namespace
Opérateur
Introduction au langage C++
30/09/2023 7
Namespace
Plus besoin d’utiliser std::
Introduction au langage C++
30/09/2023 8
Références
Paramètre passé par référence
Introduction au langage C++
30/09/2023 9
Classes
TestClass.cpp
TestClass.h
Main.cpp
Introduction au langage C++
30/09/2023 10
Constructeurs/Destructeur et
surcharge
TestClass.cpp
TestClass.h
Introduction au langage C++
30/09/2023 11
Liste d’initialisation
L’initialisation des membres
dans le constructeur peut être
faite de cette façon
Introduction au langage C++
30/09/2023 12
Opérateurs
TestClass.cpp
TestClass.h
Introduction au langage C++
30/09/2023 13
Opérateurs
Résultat
Main.cpp
Introduction au langage C++
30/09/2023 14
Fonctions amies
TestClass.h
Introduction au langage C++
30/09/2023 15
Fonctions amies
TestClass.cpp
Introduction au langage C++
30/09/2023 16
Fonctions amies
Main.cpp
Introduction au langage C++
30/09/2023 17
Héritage
Classe de base
Classe dérivées
Appel à un constructeur
spécifique de la classe de base
Introduction au langage C++
30/09/2023 18
Classes abstraites
Classe de base abstraite
Classe dérivées
Introduction au langage C++
30/09/2023 19
Classes abstraites
Introduction au langage C++
30/09/2023 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++
30/09/2023 21
Annexes
Introduction au langage C++
30/09/2023 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++
30/09/2023 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++
30/09/2023 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++
30/09/2023 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 liens
Edition des liens
Regroupement
Edition des liens
Introduction au langage C++
30/09/2023 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++
30/09/2023 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
1 sur 27

Recommandé

Intro c++Intro c++
Intro c++Mohamed Essalhi
459 vues27 diapositives
Chap1: Cours en C++Chap1: Cours en C++
Chap1: Cours en C++Aziz Darouichi
1.8K vues195 diapositives
Chap1V2019: Cours en C++Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Aziz Darouichi
1.1K vues214 diapositives
Cours langage-cCours langage-c
Cours langage-cAhmed MSAFRI
7.3K vues229 diapositives
C Plus Plus demoC Plus Plus demo
C Plus Plus demopadnot
555 vues9 diapositives

Contenu connexe

Similaire à Intro C++

Cours_C_for_Etudiant.pdfCours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdfHailisara
4 vues53 diapositives
De Java à .NETDe Java à .NET
De Java à .NETMichel Salib
1.8K vues59 diapositives
Langage CLangage C
Langage Cmohamednacim
103 vues53 diapositives
C#C#
C#mohamednacim
218 vues148 diapositives

Similaire à Intro C++(20)

Cours_C_for_Etudiant.pdfCours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdf
Hailisara4 vues
De Java à .NETDe Java à .NET
De Java à .NET
Michel Salib1.8K vues
Langage CLangage C
Langage C
mohamednacim103 vues
Fascicule tp programmation cFascicule tp programmation c
Fascicule tp programmation c
Missaoui Abdelbaki 740 vues
C#C#
C#
mohamednacim218 vues
Dotnet csharpDotnet csharp
Dotnet csharp
SDFG540 vues
C++ 11 - Tech Days 2014 in ParisC++ 11 - Tech Days 2014 in Paris
C++ 11 - Tech Days 2014 in Paris
christophep21498 vues
cours1.pptcours1.ppt
cours1.ppt
testuser7159394 vues
Développer en natif avec C++11Développer en natif avec C++11
Développer en natif avec C++11
Microsoft1.1K vues
Cours de cCours de c
Cours de c
Nada Riahi3.5K vues
Trivial Java - Part 2Trivial Java - Part 2
Trivial Java - Part 2
Duchess France544 vues

Intro C++

  • 2. Introduction au langage C++ 30/09/2023 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)
  • 3. Introduction au langage C++ 30/09/2023 3 > Sommaire 1. Introduction au langage C++ a) Présentation b) Hello World! c) Namespace d) Références e) Classes f) Constructeurs/destructeur et surcharge g) Liste d’initialisation h) Opérateurs i) Fonctions amies j) Héritage k) Classes abstraites l) Autres
  • 4. Introduction au langage C++ 30/09/2023 4 Introduction au langage C++
  • 5. Introduction au langage C++ 30/09/2023 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…)
  • 6. Introduction au langage C++ 30/09/2023 6 Hello World! Notion de namespace Opérateur
  • 7. Introduction au langage C++ 30/09/2023 7 Namespace Plus besoin d’utiliser std::
  • 8. Introduction au langage C++ 30/09/2023 8 Références Paramètre passé par référence
  • 9. Introduction au langage C++ 30/09/2023 9 Classes TestClass.cpp TestClass.h Main.cpp
  • 10. Introduction au langage C++ 30/09/2023 10 Constructeurs/Destructeur et surcharge TestClass.cpp TestClass.h
  • 11. Introduction au langage C++ 30/09/2023 11 Liste d’initialisation L’initialisation des membres dans le constructeur peut être faite de cette façon
  • 12. Introduction au langage C++ 30/09/2023 12 Opérateurs TestClass.cpp TestClass.h
  • 13. Introduction au langage C++ 30/09/2023 13 Opérateurs Résultat Main.cpp
  • 14. Introduction au langage C++ 30/09/2023 14 Fonctions amies TestClass.h
  • 15. Introduction au langage C++ 30/09/2023 15 Fonctions amies TestClass.cpp
  • 16. Introduction au langage C++ 30/09/2023 16 Fonctions amies Main.cpp
  • 17. Introduction au langage C++ 30/09/2023 17 Héritage Classe de base Classe dérivées Appel à un constructeur spécifique de la classe de base
  • 18. Introduction au langage C++ 30/09/2023 18 Classes abstraites Classe de base abstraite Classe dérivées
  • 19. Introduction au langage C++ 30/09/2023 19 Classes abstraites
  • 20. Introduction au langage C++ 30/09/2023 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…
  • 21. Introduction au langage C++ 30/09/2023 21 Annexes
  • 22. Introduction au langage C++ 30/09/2023 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
  • 23. Introduction au langage C++ 30/09/2023 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
  • 24. Introduction au langage C++ 30/09/2023 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
  • 25. Introduction au langage C++ 30/09/2023 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 liens Edition des liens Regroupement Edition des liens
  • 26. Introduction au langage C++ 30/09/2023 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
  • 27. Introduction au langage C++ 30/09/2023 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

Notes de l'éditeur

  1. Nom de la conférence XXX
  2. Nom de la conférence XXX