Introduction au langage C++

Slides:



Advertisements
Présentations similaires
Erratum C Surcharge For(int x=0; … 2.
Advertisements

Rappels C.
12/01/20141Séminaire national C2imd. 12/01/20142Séminaire national C2imd.
DIALVEIL DATA mise à niveau possible du parc existant (3353 )
Appels de fonctions natives sous C#
Niveau: 4ème Math Prof: Donia JEBALI Année Scolaire 2007/2008
Présentation de la migration de Dimensions vers
En ville M. Rocque. 1/23/20142 le supermarché 1/23/20143 le parc.
Étude de l’intérêt de l’utilisation des grains d’or dans le traitement des cancers de la prostate par Radiothérapie Conformationnelle avec Modulation d’Intensité.
Leçon 2: Les schémas fonctionnels
Leçon 3: Analyse Temporelle Des Systèmes
Les tests et les logiciels de gestion de tests
C.
BTS MANAGEMENT DES UNITES COMMERCIALES
Formes et grandeurs au cycle 1
TD 1 IJA Introduction Objet, méthode, attribut Classe, instance
Programmation Orientée Objet (POO)
Traitement de flux vidéo sur GPU (Processeur graphique)
Veuillez sélectionner une question:
Leçon 3 : Héritage IUP 2 Génie Informatique
Gestion automatisée des filtres d’attributs
Tout Comme Une Vieille Chanson
Les Mansardes de Paris.
Mme Khadija BOUZAACHANE Année universitaire :
Thème -1- : L’electromagnetisme
Analyse des circuits électriques -GPA220- Cours #10: Systèmes de deuxième ordre Enseignant: Jean-Philippe Roberge Jean-Philippe Roberge - Janvier.
Leçon 6 : Structures de données dynamiques IUP 2 Génie Informatique Méthode et Outils pour la Programmation Françoise Greffier.
Bibliothèque standard du C++
Programme et Langage C++
Thème -1- : L’electromagnetisme
C++ : classes Introduction aux Langages Orientés Objets
Tout Comme Une Vieille Chanson
LA LYMPHE 31/03/2017 Elisabeth Chaniaud.
Tout Comme Une Vieille Chanson
Structures de données IFT-2000
GPA789 Analyse et conception orientées objet 1 Professeur: Tony Wong, Ph.D., ing. Chapitre 6 Correspondance UML et C++
Introduction au paradigme orienté-objet (suite)
Un langage de programmation hybride
La décomposition simple
Types de données abstrait et mécanismes d'encapsulation
COURS DE PROGRAMMATION ORIENTEE OBJET :
Standard Template Library
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI) Plate-forme.NET.
Wiki pour les nuls le LGI
Leçon 1 : notion dobjet IUP Génie Informatique Besançon Méthode et Outils pour la Programmation Françoise Greffier Université de Franche-Comté.
Renauld MAMBOUNDOU Arnaud SCHOEN Safiatou FANNY Vincent BOUVIER
Analyse des circuits électriques -GPA220- Cours #5: Amplificateurs opérationnels (partie 1) Enseignant: Jean-Philippe Roberge Jean-Philippe Roberge.
Masters IIGLI et IGLII – Programmation générique et conception objet – – Claude Montacié 1 Cours n° 4 Polymorphisme II.
Analyse des circuits électriques -GPA220- Cours #8: Système de premier ordre (partie 1) Enseignant: Jean-Philippe Roberge Jean-Philippe Roberge -
Structures de données IFT-2000
Héritage et composition
OI-M/DLI IPT Asia Découpe. OI-M/DLI IPT Asia Emboutissage dans l’agroalimentaire.
(Vient du grec et signifie « Peut prendre plusieurs formes »)
2.1 - Historique Chapitre 2 : Introduction au langage C++
Congrès BPW Int Centre International de Congrès, Jeju, Corée du sud Congrès BPW Int
Programmer en langage c
Programmation Système et Réseau (sous Linux)
Les Pointeurs et les Tableaux Statiques et Tableaux Dynamiques
La notion de type revisitée en POO
Centre de Transit - Maison ADA et ADI Adaptation et accoutumance.
ALGORITHMIQUE ET PROGRAMMATION C
C++ L’HERITAGE Fayçal BRAÏKI DUT INFORMATIQUE.
1 École des Mines de Saint-Etienne. 158, cours Fauriel Saint-Etienne Cedex 2. Tél Fax Jean-Jacques Girardot
Les classes Introduction aux Langages Orientés Objets
Diagramme de Déploiement
Conception de Programmes - IUT de Paris - 1ère année Conception de Programmes Objectifs et organisation du cours Introduction à la P.O.O.
S. Domas Système d’Exploitation Make et la construction d’exécutables 1ère annéeIUT Belfort-Montbéliard.
pour les programmeurs en C++ Java 2 Part 1 3 Histoire de Java Projet de connexion des machines: 1991 Le nom Java a été introduit dans un café Développé.
Transcription de la présentation:

Introduction au langage C++ 26/03/2017 Introduction au langage C++ Nom de la conférence XXX

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) 26/03/2017

> Sommaire Introduction au langage C++ Présentation Hello World! 26/03/2017 > Sommaire 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 26/03/2017 Nom de la conférence XXX

Introduction au langage C++ 26/03/2017

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…) 26/03/2017

Hello World! Notion de namespace Opérateur 26/03/2017

Namespace Plus besoin d’utiliser std:: 26/03/2017

Références Paramètre passé par référence 26/03/2017

Classes TestClass.cpp TestClass.h Main.cpp 26/03/2017

Constructeurs/Destructeur et surcharge TestClass.h TestClass.cpp 26/03/2017

Liste d’initialisation L’initialisation des membres dans le constructeur peut être faite de cette façon 26/03/2017

Opérateurs TestClass.h TestClass.cpp 26/03/2017

Opérateurs Résultat Main.cpp 26/03/2017

Fonctions amies TestClass.h 26/03/2017

Fonctions amies TestClass.cpp 26/03/2017 15

Fonctions amies Main.cpp 26/03/2017 16

Héritage Classe de base Classe dérivées Appel à un constructeur spécifique de la classe de base 26/03/2017

Classes abstraites Classe de base abstraite Classe dérivées 26/03/2017

Classes abstraites 26/03/2017

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… 26/03/2017

Annexes 26/03/2017

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 26/03/2017 22

Différences entre les compilateurs Windows et 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 26/03/2017

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 26/03/2017

Utilisation de bibliothèques de fonctions externes Fichiers .c/.cpp Compilation Fichiers .obj Regroupement Edition des liens Fichier .lib Edition des liens Edition des liens Fichier .exe Fichier .dll Est utilisée 26/03/2017

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 26/03/2017

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 26/03/2017