Partie 1: Notions de base — Programmation orientée objet en C++

2 383 vues

Publié le

Support material for a continued education course "Introduction to object oriented programming in C++".
In French.

0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
2 383
Sur SlideShare
0
Issues des intégrations
0
Intégrations
1
Actions
Partages
0
Téléchargements
146
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Partie 1: Notions de base — Programmation orientée objet en C++

  1. 1. Programmation Orientée Objet en C++ Première Partie: Notions de Base Fabio Hernandez Fabio.Hernandez@in2p3.fr
  2. 2. Vue dEnsemble Notions de base Types, variables, opérateurs Contrôle dexécution Fonctions Mémoire dynamique Qualité du logiciel Evolution du modèle objet Objets et classes Fonctions membres Classes génériques Héritage Polymorphisme Héritage multiple Entrée/sortiePOO en C++: Notions de Base 4 © 1997-2003 Fabio HERNANDEZ
  3. 3. Table des Matières Pour commencer... Fichiers sources Commentaires Construction de l’exécutable Le pré-processeur Commande de compilation A propos de l’entrée/sortie en C++POO en C++: Notions de Base 5 © 1997-2003 Fabio HERNANDEZ
  4. 4. Pour commencer... Tout programme doit avoir un point d’entrée nommé main int main() { return 0; } main est la fonction appelée par le système d’exploitation lors de lexécution du programme { et } délimitent le corps de la fonction main retourne un entier au système: 0 (zéro) veut dire succès Chaque expression doit finir par ; (point virgule)POO en C++: Notions de Base 6 © 1997-2003 Fabio HERNANDEZ
  5. 5. Fichiers Sources Un programme est généralement constitué de plusieurs modules Chaque module est composé de deux fichiers sources: un fichier contenant la description de l’interface du module un fichier contenant l’implémentation proprement dite du module Un suffixe est utilisé pour déterminer le type de fichier .h .H .hpp .hxx pour les fichiers de description d’interface (header files ou include files) .C .cc .cxx .cpp .c++ pour les fichiers d’implémentation Dans un fichier source on peut trouver: commentaires instructions pré-processeur instructions C++POO en C++: Notions de Base 7 © 1997-2003 Fabio HERNANDEZ
  6. 6. Commentaires C et C++ /* Un commentaire en une seule ligne */ /* * Un commentaire sur plusieurs * lignes */ C++ uniquement // Un commentaire jusqu’à la fin de cette ligne // // Un commentaire sur plusieurs // lignes //POO en C++: Notions de Base 8 © 1997-2003 Fabio HERNANDEZ
  7. 7. Construction de l’Exécutable Précompilation Compilation 01101 Edition des liens 10010 11101 example.o 10101example.cpp example.i 10110 00101 01001 example 01010 11100 bibliotèquesfichiers .h autres modules POO en C++: Notions de Base 9 © 1997-2003 Fabio HERNANDEZ
  8. 8. Le pré-processeur Filtre utilisé avant la compilation de chaque module Capable de: suppression des commentaires inclusion d’autres fichiers expansion des macro-définitions compilation conditionnelle # doit être le premier caractère non blanc de la ligne Quelques instructions utiles: include, define, undef, if...else...endif, ifdef...else...endif, ifndef...else...endif, error, pragmaPOO en C++: Notions de Base 10 © 1997-2003 Fabio HERNANDEZ
  9. 9. Le pré-processeur(suite) Inclusion de fichiers #include <iostream> #include "MyFileManager.h" Macro-definitions #define MAX_FILES 60 #define ADD(a,b) (a+b) Compilation conditionnelle #if defined(__hpux) // Put here HP-UX specific C++ code #elif defined(linux) // Put here LINUX specific C++ code #else // Put here C++ code for any other platform #endifPOO en C++: Notions de Base 11 © 1997-2003 Fabio HERNANDEZ
  10. 10. Commande de Compilation Dépend de l’environnement (plate-forme + compilateur + outils) Sous AIX avec le compilateur IBM xlC -o myTest test.C Sous HP-UX avec le compilateur HP aCC -o myTest test.C Sous toutes les plate-formes avec le compilateur GNU g++ -o myTest test.C Pour exécuter faire myTest Pour les environnements Windows ou Mac (Borland, Microsoft, Symantec, Watcom, MetroWerks...) voir la doc du produitPOO en C++: Notions de Base 12 © 1997-2003 Fabio HERNANDEZ
  11. 11. A propos de l’entrée/sortie en C++ E/S ne fait pas partie de C++ même Supportée par une bibliothèque appelée iostream, elle même écrite en C++ Entrée en provenance de la console (entrée standard) est récupérée via cin Sortie dirigée vers la console (sortie standard) est envoyée via cout Sortie dirigée vers la sortie standard des erreurs est envoyée via cerr cin, cout et cerr sont prédéfinis et directement utilisables par tout programme C++POO en C++: Notions de Base 13 © 1997-2003 Fabio HERNANDEZ
  12. 12. A propos de l’entrée/sortie en C++(suite) L’opérateur << est utilisé pour envoyer des messages vers cout et cerr Exemple Hello, World #include <iostream> // Standard C++ I/O void main() { cout << "Hello, World" << endl; }POO en C++: Notions de Base 14 © 1997-2003 Fabio HERNANDEZ
  13. 13. A propos de l’entrée/sortie en C++(suite) Accepte aussi des expressions plus complexes #include <iostream> // Standard C++ I/O int main() { cout << "Starting..." << endl; cout << "The result of 120+45 equals " << 120+45 << endl; return 0; } iostream contient des declarations nécessaires pour le système d’entrée/sortie de C++ endl est utilisé pour contrôler le changement de lignePOO en C++: Notions de Base 15 © 1997-2003 Fabio HERNANDEZ
  14. 14. A propos de l’entrée/sortie en C++(suite) L’opérateur >> est utilisé pour extraire des données de cin (lentrée standard) Exemple #include <iostream> // Standard C++ I/O int main() { int value1; int value2; cout << "Enter two integers: " << endl; cin >> value1 >> value2; cout << "Values entered are: " << value1 << " and " << value2 << endl; cout << "value1+value2 =" << value1 + value2 << endl; return 0; }POO en C++: Notions de Base 16 © 1997-2003 Fabio HERNANDEZ

×