ECOLE NATIONALE D’INGÉNIEURS DE SOUSSE Notes de cours Programmation Orientée Ob

ECOLE NATIONALE D’INGÉNIEURS DE SOUSSE Notes de cours Programmation Orientée Objet (C++) Par Karim Kalti Version 3.7 SOMMAIRE Partie I : - Les bases du langage (règles d'écriture, types, variables, opérateurs, structures de contrôle, …) - Les entrées /sorties en C++. - Les tableaux. - Les pointeurs et les références. - La gestion dynamique de la mémoire. - Les fonctions. - Les chaînes de caractères - Les structures et les énumérations. Partie II : - Introduction à la programmation orientée objet. - Les classes (attributs, méthodes, droits d'accès, instanciation,...) - Constructeurs et destructeur. - Espaces de noms. - Membres statiques et membres constants. - Fonctions amies. - Héritage et polymorphisme. - La surcharge des opérateurs. - Les modèles. - La gestion des exceptions. Annexe : - Les fichiers. Les règles d’écriture Programmation orientée objet (C++) _________________________________________________________________________________________________________________ Version 3.7  Karim Kalti 1 Les règles d'écriture Premier programme #include <iosrteam.h> void main() { cout<<"bonjour"; } • Ce programme affiche le mot Bonjour à l'écran. Cet affichage est réalisé à travers l'opérateur d'extraction appliqué à l'objet cout. cout est un objet défini dans la bibliothèque iostream.h. Cette bibliothèque doit être incluse dans le programme. • En général les déclarations des fonctions standards du langage C++ qui sont susceptibles d'apparaître dans le programme se trouvent dans des fichiers d'entête (header) ayant l'extension .h. Ces fichiers doivent être inclus au début de chaque programme avec la directive du préprocesseur include. • La fonction main est la fonction principale du programme. C'est elle qui contient le corps du programme. • Les accolades jouent le rôle de "begin" et "end" du Pascal. Elles indiquent le début et la fin d'un bloc de code. Remarque : Ce petit programme donne une première idée sur la structure d'un programme C++. D'autres éléments du langage peuvent encore prendre place. Leurs définitions ainsi que leur emplacements seront décrits dans les parties suivantes du cours. Structure d'un programme C++ D'une manière générale et d'un point de vue structurel, un programme C++ se décompose en deux grandes parties : • Les déclarations : qui comprennent : o Les directives de compilation pour l'inclusion des fichiers d'entêtes. o Les déclarations des données ou des fonctions partagées avec d'autres fichiers. o Les déclarations des types propres au fichier. o Les déclarations des données globales du fichier. • Les définitions : il s'agit des définitions des fonctions du fichier et des classes. Les mots clés Les mots clés sont réservés par le langage à un usage bien défini et ne peuvent se voir changer de signification, ni être utilisés comme identificateurs. Les mots clés du C++ sont : Mots clés communs avec le C : auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct swich typedef union unisgned void volatile while Mots clés spécifiques au C++ : bool catch class delete friend inline new operator private protected public template this throw try virtual Les règles d’écriture Programmation orientée objet (C++) _________________________________________________________________________________________________________________ Version 3.7  Karim Kalti 2 De plus le pré-processeur utilise les mots clés suivants : #define #elif #else #endif #error #if #ifdef #ifndef #include #inline #pragma #undef Remarque : Certains compilateurs peuvent ajouter d'autres mots clés qui lui sont propres. Les identificateurs Les identificateurs servent à désigner les différents "objets" manipulés par le programme (variables, fonctions, etc.). Ils se présentent sous la forme de chaînes de caractères alphanumériques (combinaison de caractères alphabétiques et de chiffres), de taille quelconque, dans les limites acceptées par le compilateur. En C++, les identificateurs doivent respecter les règles suivantes : • Un identificateur doit toujours commencer par une lettre ou par le caractère underscore _. • Les caractères accentués (é, è, ê, à, â, ç,…) ne sont pas acceptés par le compilateur. • Un identificateur doit être différent des mots clés du langage. • Les majuscules et les minuscules sont considérées comme des lettres distinctes. • En générale la taille d'un identificateur ne doit pas dépasser les 32 caractères. Ce nombre varie suivant les compilateurs. Par exemple Borland C++ Version 5.0 utilise 250 caractères comme caractères significatifs. Les caractères situés au delà du nombre significatif ne sont pas pris en considération. • Les identificateurs servent à donner des noms à divers éléments du langage : les variables, les fonctions, les constantes, les énumérations, les structures… Exemples d'identificateurs valides : Nabs n1234_ abc table chaise Exemple d'identificateurs non valides : 2abc n'est pas un identificateur valide. Exemples d'identificateurs différents : Somme ≠ somme ≠ sOmme Les commentaires Les commentaires sont fondamentaux pour la compréhension des programmes et donc pour leur maintenance et réutilisation. C'est pourquoi, il est très conseillé de les utiliser autant que c'est possible. Ils se présentent comme des portions de texte qui ne sont pas pris en compte lors de la compilation. Le C++ supporte deux types de commentaires : • Le commentaire multi-lignes : Il est introduit par /* et se termine par */ • Le commentaire ligne : le commentaire peut s'étendre sur une ligne seulement. Il est introduit par //. Sa fin est indiquée par un retour à la ligne. Exemple : /* Ceci est un commentaire sur plusieurs lignes */ // Ceci est un commentaire sur une seule ligne. Le format libre Le C++ autorise une mise en page libre. Ainsi une instruction peut s'étendre sur un nombre quelconque de lignes pourvu qu'elle se termine par un point virgule. De même une ligne peut comprendre autant d'instructions que voulues. Types de base et déclaration des variables Programmation orientée objet (C++) _________________________________________________________________________________________________________________ Version 3.7  Karim Kalti 3 Types de base et déclaration des variables Toute variable utilisée dans un programme C/C++ doit être déclarée. Une variable possède un nom (identificateur) et un type. Elle contient en général une information bien précise. Lors de l'exécution du programme, une zone mémoire ayant la taille du type de la variable lui sera réservée. Cette zone contiendra cette information. Les types de données en C++ Les types de base Les types de base en C++ sont : Type Description int Pour les entiers standards. float Pour les nombres réels standards. double Pour les nombres réels en double précision. char Pour les caractères bool Pour les variables booléennes Les types dérivés A ces types de base s'ajoutent d'autres variantes obtenues en plaçant une spécification supplémentaire devant le type de base. Les mots clés permettant de construire les types dérivés sont : Mot-clé Signification long Pour définir des entiers ou des réels de grande taille. long s'applique aux types de base int et double. Lorsque ce mot est utilisé tout seul il désigne alors par défaut un entier long. short Permet de manipuler les entiers de petite taille. Il s'utilise avec int ou tout seul (même signification). unsigned Il se place devant les types entiers ou caractères qui doivent être considérés comme étant non signés. Il peut s'employer tout seul. Il désigne alors un entier non signé (unsigned int). La liste complète des types en C++ est alors : Type Taille Plage de valeurs Caractères char 1 -128 …127 unsigned char 1 0 … 255 Entiers short int 2 -32768 … 32768 unsigned short 2 0 … 65535 long int 4 -2 147 483 648 … 2 147 483 647 unsigned long int 4 0 … 4 294 967 295 int 2 ou 4 Comme short ou long unsigned int 2 ou 4 Comme unsigned short ou unsigned long Réels float 4 ±1.175 10-38 … ±3.402 10+38 double 8 ±2.225 10-308 … ±1.797 10+308 long double 10 ±3.4 10-4932 … ±1.1 10+4932 Booléen bool 1 true, false Remarque 1 : • Le type int possède toujours la taille d'un mot machine. Par conséquent l'espace qu'il occupe en mémoire dépend de la machine sur laquelle s'exécute le programme. Cette taille est par exemple de 2 octets (identique à celle du type short) pour les µp d'intel 8086 et 80286. Elle est de 4 octets (identique à celle du type long) pour les µp PENTIUM. Pour cela, et pour assurer la portabilité et le bon fonctionnement des programmes sur n'importe quelle machine, il est préférable d'utiliser pour les entiers les types short et long. Types de base et déclaration des variables Programmation orientée objet (C++) _________________________________________________________________________________________________________________ Version 3.7  Karim Kalti 4 • Tous les autres types correspondent à des tailles fixes et ne dépendent pas des machines. Remarque 2 : • La représentation des réels utilise le format suivant : Signe Mantisse 10Exposant. Remarque 3 : Le type char peut servir en C/C++ pour le stockage des entiers qui sont compris entre –128 et 127. Les caractères sont d'ailleurs représentés sous forme d'entiers. Ces entiers correspondent aux codes ASCII. Les variables Déclaration TYPE NomVariable; Où : • Type : désigne le type des données que peut stocker la variable. • NomVariable : désigne le nom de la variable. La nomination d'une variable doit respecter les régles qui régissent les identificateurs en C++. Exemple : float tension; int resistance; float Moyenne; • Plusieurs variables uploads/Litterature/ cours-pooc.pdf

  • 37
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager