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 de 27

Recomendados

Intro c++ por
Intro c++Intro c++
Intro c++Mohamed Essalhi
459 vistas27 diapositivas
Chap1: Cours en C++ por
Chap1: Cours en C++Chap1: Cours en C++
Chap1: Cours en C++Aziz Darouichi
1.9K vistas195 diapositivas
Chap1V2019: Cours en C++ por
Chap1V2019: Cours en C++Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Aziz Darouichi
1.1K vistas214 diapositivas
Cours de C++, en français, 2002 - Cours 1.4 por
Cours de C++, en français, 2002 - Cours 1.4Cours de C++, en français, 2002 - Cours 1.4
Cours de C++, en français, 2002 - Cours 1.4Laurent BUNIET
87 vistas80 diapositivas
Cours langage-c por
Cours langage-cCours langage-c
Cours langage-cAhmed MSAFRI
7.3K vistas229 diapositivas
C Plus Plus demo por
C Plus Plus demoC Plus Plus demo
C Plus Plus demopadnot
555 vistas9 diapositivas

Más contenido relacionado

Similar a Intro C++

Cours_C_for_Etudiant.pdf por
Cours_C_for_Etudiant.pdfCours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdfHailisara
4 vistas53 diapositivas
De Java à .NET por
De Java à .NETDe Java à .NET
De Java à .NETMichel Salib
1.8K vistas59 diapositivas
Langage C por
Langage CLangage C
Langage Cmohamednacim
103 vistas53 diapositivas
Cours de C++, en français, 2002 - Cours 1.2 por
Cours de C++, en français, 2002 - Cours 1.2Cours de C++, en français, 2002 - Cours 1.2
Cours de C++, en français, 2002 - Cours 1.2Laurent BUNIET
162 vistas112 diapositivas
Fascicule tp programmation c por
Fascicule tp programmation cFascicule tp programmation c
Fascicule tp programmation cMissaoui Abdelbaki
752 vistas38 diapositivas
C# por
C#C#
C#mohamednacim
221 vistas148 diapositivas

Similar a Intro C++(20)

Cours_C_for_Etudiant.pdf por Hailisara
Cours_C_for_Etudiant.pdfCours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdf
Hailisara4 vistas
Cours de C++, en français, 2002 - Cours 1.2 por Laurent BUNIET
Cours de C++, en français, 2002 - Cours 1.2Cours de C++, en français, 2002 - Cours 1.2
Cours de C++, en français, 2002 - Cours 1.2
Laurent BUNIET162 vistas
Dotnet csharp por SDFG5
Dotnet csharpDotnet csharp
Dotnet csharp
SDFG542 vistas
C++ 11 - Tech Days 2014 in Paris por christophep21
C++ 11 - Tech Days 2014 in ParisC++ 11 - Tech Days 2014 in Paris
C++ 11 - Tech Days 2014 in Paris
christophep21498 vistas
Bonnes pratiques pour apprivoiser le C++11 avec Visual C++ por Microsoft
Bonnes pratiques pour apprivoiser le C++11 avec Visual C++Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
Microsoft2.2K vistas
Développer en natif avec C++11 por Microsoft
Développer en natif avec C++11Développer en natif avec C++11
Développer en natif avec C++11
Microsoft1.1K vistas
Rappels Modularisation application C/C++ por Sylvain Leroy
Rappels Modularisation application C/C++Rappels Modularisation application C/C++
Rappels Modularisation application C/C++
Sylvain Leroy1.9K vistas
Cours de C++, en français, 2002 - Cours 2.5 por Laurent BUNIET
Cours de C++, en français, 2002 - Cours 2.5Cours de C++, en français, 2002 - Cours 2.5
Cours de C++, en français, 2002 - Cours 2.5
Laurent BUNIET293 vistas
Cours de C++, en français, 2002 - Cours 1.5 por Laurent BUNIET
Cours de C++, en français, 2002 - Cours 1.5Cours de C++, en français, 2002 - Cours 1.5
Cours de C++, en français, 2002 - Cours 1.5
Laurent BUNIET117 vistas
Cours de C++, en français, 2002 - Cours 2.4 por Laurent BUNIET
Cours de C++, en français, 2002 - Cours 2.4Cours de C++, en français, 2002 - Cours 2.4
Cours de C++, en français, 2002 - Cours 2.4
Laurent BUNIET88 vistas
C# 5 versus Java 8... Quand C++ 11 s'invite à la fête por Fabrice JEAN-FRANCOIS
C# 5 versus Java 8... Quand C++ 11 s'invite à la fêteC# 5 versus Java 8... Quand C++ 11 s'invite à la fête
C# 5 versus Java 8... Quand C++ 11 s'invite à la fête
Fabrice JEAN-FRANCOIS1.5K vistas
Seance 1 - Programmation en langage C por Fahad Golra
Seance 1 - Programmation en langage CSeance 1 - Programmation en langage C
Seance 1 - Programmation en langage C
Fahad Golra1.4K vistas
Cours de c por Nada Riahi
Cours de cCours de c
Cours de c
Nada Riahi3.5K vistas
C2 - Langage C - ISIMA 1 - Deuxieme partie por Loic Yon
C2 - Langage C - ISIMA 1 - Deuxieme partieC2 - Langage C - ISIMA 1 - Deuxieme partie
C2 - Langage C - ISIMA 1 - Deuxieme partie
Loic Yon1.7K vistas

Último

Présentation de lancement SAE105 por
Présentation de lancement SAE105Présentation de lancement SAE105
Présentation de lancement SAE105JeanLucHusson
193 vistas13 diapositivas
FORMATION SUR LES PICTOGRAMMES DE SECURITE KKW.pptx por
FORMATION SUR LES PICTOGRAMMES DE SECURITE KKW.pptxFORMATION SUR LES PICTOGRAMMES DE SECURITE KKW.pptx
FORMATION SUR LES PICTOGRAMMES DE SECURITE KKW.pptxKOUADIO WILLIAMS KOUAME
20 vistas17 diapositivas
Formation M2i - Cadre réglementaire des IA Génératives : premiers éléments de... por
Formation M2i - Cadre réglementaire des IA Génératives : premiers éléments de...Formation M2i - Cadre réglementaire des IA Génératives : premiers éléments de...
Formation M2i - Cadre réglementaire des IA Génératives : premiers éléments de...M2i Formation
22 vistas36 diapositivas
Indicateurs de développement durable pour les municipalités  : sources et rep... por
Indicateurs de développement durable pour les municipalités  : sources et rep...Indicateurs de développement durable pour les municipalités  : sources et rep...
Indicateurs de développement durable pour les municipalités  : sources et rep...Centre GéoStat, Bibliothèque, Université Laval
53 vistas48 diapositivas
La conscience d'être libre est-elle illusoire ? (G. Gay-Para) por
La conscience d'être libre est-elle illusoire ? (G. Gay-Para)La conscience d'être libre est-elle illusoire ? (G. Gay-Para)
La conscience d'être libre est-elle illusoire ? (G. Gay-Para)Gabriel Gay-Para
19 vistas54 diapositivas
ONU.pdf por
ONU.pdfONU.pdf
ONU.pdfChristopheFontaine13
35 vistas2 diapositivas

Último(9)

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

Notas del editor

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