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++Intro c++
Intro c++Mohamed Essalhi
459 visualizações27 slides
Chap1: Cours en C++Chap1: Cours en C++
Chap1: Cours en C++Aziz Darouichi
1.8K visualizações195 slides
Chap1V2019: Cours en C++Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Aziz Darouichi
1.1K visualizações214 slides
Cours langage-cCours langage-c
Cours langage-cAhmed MSAFRI
7.3K visualizações229 slides
C Plus Plus demoC Plus Plus demo
C Plus Plus demopadnot
555 visualizações9 slides

Mais conteúdo relacionado

Similar a Intro C++

Cours_C_for_Etudiant.pdfCours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdfHailisara
4 visualizações53 slides
De Java à .NETDe Java à .NET
De Java à .NETMichel Salib
1.8K visualizações59 slides
Langage CLangage C
Langage Cmohamednacim
103 visualizações53 slides
C#C#
C#mohamednacim
218 visualizações148 slides

Similar a Intro C++(20)

Cours_C_for_Etudiant.pdfCours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdf
Hailisara4 visualizações
De Java à .NETDe Java à .NET
De Java à .NET
Michel Salib1.8K visualizações
Langage CLangage C
Langage C
mohamednacim103 visualizações
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 visualizações
Fascicule tp programmation cFascicule tp programmation c
Fascicule tp programmation c
Missaoui Abdelbaki 740 visualizações
C#C#
C#
mohamednacim218 visualizações
Dotnet csharpDotnet csharp
Dotnet csharp
SDFG540 visualizações
C++ 11 - Tech Days 2014 in ParisC++ 11 - Tech Days 2014 in Paris
C++ 11 - Tech Days 2014 in Paris
christophep21498 visualizações
cours1.pptcours1.ppt
cours1.ppt
testuser7159394 visualizações
Développer en natif avec C++11Développer en natif avec C++11
Développer en natif avec C++11
Microsoft1.1K visualizações
Rappels Modularisation application C/C++Rappels Modularisation application C/C++
Rappels Modularisation application C/C++
Sylvain Leroy1.9K visualizações
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 visualizações
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 visualizações
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 BUNIET87 visualizações
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 visualizações
Seance 1 - Programmation en langage CSeance 1 - Programmation en langage C
Seance 1 - Programmation en langage C
Fahad Golra1.4K visualizações
Cours de cCours de c
Cours de c
Nada Riahi3.5K visualizações
C2 - Langage C - ISIMA 1 - Deuxieme partieC2 - Langage C - ISIMA 1 - Deuxieme partie
C2 - Langage C - ISIMA 1 - Deuxieme partie
Loic Yon1.7K visualizações
Trivial Java - Part 2Trivial Java - Part 2
Trivial Java - Part 2
Duchess France544 visualizações

Último(13)

Presentation pfe final (7).pptxPresentation pfe final (7).pptx
Presentation pfe final (7).pptx
BenAlayaSaida9 visualizações
ordre westphalien.docxordre westphalien.docx
ordre westphalien.docx
ChristopheFontaine1380 visualizações
fascicule_de_maths_3e.pdffascicule_de_maths_3e.pdf
fascicule_de_maths_3e.pdf
koffiaboudouganio29 visualizações
eTwinning-formation-22 nov 2023.pptxeTwinning-formation-22 nov 2023.pptx
eTwinning-formation-22 nov 2023.pptx
Marie-Hélène Fasquel71 visualizações
Abréviations et symboles (1).pdfAbréviations et symboles (1).pdf
Abréviations et symboles (1).pdf
StagiaireLearningmat20 visualizações
Julia Margaret CameronJulia Margaret Cameron
Julia Margaret Cameron
Txaruka29 visualizações
Éléments visuels.pdfÉléments visuels.pdf
Éléments visuels.pdf
StagiaireLearningmat22 visualizações

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 do Editor

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