Le langage C++ et la programmation orientée objets Prof. Mustapha Ameur ENSA Ma

Le langage C++ et la programmation orientée objets Prof. Mustapha Ameur ENSA Marrakech 22 octobre 2020 Bibliographie et webographie Introduction Le langage C++ Introduction au C++ Classes Héritage Polymorphisme Gestion des exceptions Bibliothèque STL ( Standard Template Library) et ++ . . . Prof. Mustapha Ameur C++ & POO Bibliographie et webographie Introduction Le langage C++ Bibliographie Prof. Mustapha Ameur C++ & POO Bibliographie et webographie Introduction Le langage C++ Liens Web : Google est votre ami http://www.cplusplus.com http://openclassrooms.com cours gratuit en ligne en anglais http://mindview.net/Books/TICPP/ ThinkingInCPP2e.html liste de cours en ligne https://cpp.developpez.com/cours/ Prof. Mustapha Ameur C++ & POO Bibliographie et webographie Introduction Le langage C++ Un peu d’histoire Le langage C++ a été conçu par Bjarne Stroustrup (Bell Labs), aprés plusieurs versions, il aboutit en 1983 à une version stable. Le C++ se base essentiellement sur 2 langages : Simula 67 (1967) dont il hérite la partie programmation orientée objets, Langage C (1972, Bell Labs) Prof. Mustapha Ameur C++ & POO Bibliographie et webographie Introduction Le langage C++ Un peu d’histoire (suite) Le langage C++ continu d’être amélioré, plusieurs normes ISO du C++ ont été élaborée apportant des nouveautés au C++ et en supprimant ou dépréciant certaines fonctionnalités : C++11 apport des pointeurs intelligents (smart pointer), résolution du problème du pointeur NULL par nulptr,. . . C++14 des changements mineurs par rapport C++11, C++17 plus de 100 changements, spécifications des exceptions pour les fonctions dépréciées, pour plus de détails voir le lien suivant avec des exemples : https://github.com/ tvaneerd/cpp17_in_TTs/blob/master/ALL_IN_ONE.md C++20 à voir ? ? ? ? Prof. Mustapha Ameur C++ & POO Bibliographie et webographie Introduction Le langage C++ C++ versus C Le langage C++ est une extension du langage C notamment en le dotant de la programmation orientée objets. Cependant il apporte plusieurs spécificités et changements par rapport au C : Les commentaires, L’emplacement libre des déclarations des variables, Les arguments ou paramètres des fonctions par défaut, La surcharge (surdéfinition) des fonctions, Les opérateurs new et delete pour l’allocation et la libération mémoire, Les fonctions en ligne (inline), Les références, . . . Prof. Mustapha Ameur C++ & POO Bibliographie et webographie Introduction Le langage C++ C++ versus C (suite) Remarques : - Les programmes écrits en C++ ont l’extension .cpp, ex. "nom-programme.cpp". - Un programme écrit entièrement en langage C reste compilable avec un compilateur C++ avec l’extension .cpp. = ⇒Le C++ contient le C. Prof. Mustapha Ameur C++ & POO Bibliographie et webographie Introduction Le langage C++ Généralités sur le C++ Le langage C++ est compilé par opposition aux langages interprétés comme Python et Java. Il faut donc passer par une phase de compilation pour traduire le code C++ en code binaire ( langage machine). ce qui le rend plus rapide à l’exécution. le langage C++ est un langage de haut niveau, le langage C++ est impératif :les instructions se suivent dans un ordre précis et transmises au processeur de la machine dans cet ordre. Impératif et objet ne se contredisent pas, C++ est un langage multi-paradigmes. Il respecte à la fois le paradigme objet et impératif. Le langage C++ est trés utilisé dans plusieurs projets, de part sa rigueur, sa robustesse et ses performances. Prof. Mustapha Ameur C++ & POO Bibliographie et webographie Introduction Le langage C++ Compilation et exécution d’un programme C++ Fichier : salam.cpp #include <iostream > using namespace std; int main (){ cout <<"salam␣les␣futurs␣ingenieurs"<<endl; return 0; } Compilation et exécution sous Unix/Linux et Mac OS Prof. Mustapha Ameur C++ & POO Bibliographie et webographie Introduction Le langage C++ Compilation et exécution d’un programme C++ (suite) Avec un IDE : DevCpp ou Code : :Blocks Prof. Mustapha Ameur C++ & POO Bibliographie et webographie Introduction Le langage C++ Structure d’un programme en C++ Type d’instructions On peut faire du C++ procédurale comme en langage C (ie : les programmes fonctionnent avec des fonctions). déclaration des variables, assignations, fonctions, contrôles. Prof. Mustapha Ameur C++ & POO Bibliographie et webographie Introduction Le langage C++ Structure d’un programme en C++ (suite) La fonction principale la fonction main() est le point d’entrée de tout programme C++. Elle peut être définie de 2 manières : Pour les programmes sans paramètres : int main() .... Pour les programmes avec paramètres : int main( int argc, char* argv[])... où argc : le nombre de paramètres et argv[] : tableau de paramètres (utilisée seulement en compilation en ligne de commande). Prof. Mustapha Ameur C++ & POO Bibliographie et webographie Introduction Le langage C++ Structure d’un programme en C++ (suite) param.cpp #include <iostream > using namespace std; int main(int argc , char* argv []){ cout <<"le␣nom␣de␣l␣executable␣est:"; cout <<argv[0]<<endl; cout <<"le␣premier␣parametre␣passe␣est:"; cout <<argv[1]<<endl; return 0; } Prof. Mustapha Ameur C++ & POO Bibliographie et webographie Introduction Le langage C++ Structure d’un programme en C++ (suite) Prof. Mustapha Ameur C++ & POO Bibliographie et webographie Introduction Le langage C++ Les variables Pour déclarer une variable, on fait précéder son nom par son type. En C++, il existe plusieurs types de bases : char caractère codé sur 1 octet short le type entier codé sur 1 octet, int le type entier codé sur 4 octets, long le type entier codé sur 8 octets, float le type réel codé sur 4 octets, double ou long double le type réel avec double précision codé sur 8 octets, bool le type booléen codé sur 1 octet qui prend l’une des valeurs : true ou false (nouveauté du C++). On peut faire précéder chaque type par le préfixe unsigned, ce qui force les variables à prendre des valeurs uniquement positives. Prof. Mustapha Ameur C++ & POO Bibliographie et webographie Introduction Le langage C++ Les variables (suite) le type d’une variable détermine : La taille mémoire qu’occupe cette variable, qu’on peut obtenir avec (sizeof()). Les opérations légales qu’on peut faire avec cette variable. Les bornes ; la valeur Max et Min que peut prendre cette variable. Exemple : Pour le type short codé sur 1 octet, il prendra les valeurs entre -128 et 127. Prof. Mustapha Ameur C++ & POO Bibliographie et webographie Introduction Le langage C++ Les variables (suite) Déclaration et initialisation : bool var_bool = true; // variable boleenne int i = 0; // entier long j = 123456789; // entier long float f = 3.1; // reel // reel a double precision double pi = 3.141592653589793238462643; char c="a"; // caractere // Initialisation a la mode objet int i(0) ; long l(123456789); Prof. Mustapha Ameur C++ & POO Bibliographie et webographie Introduction Le langage C++ Les variables (suite) Les Constantes : En C++, on peut déclarer des variables constantes avec le qualificatif const de la manière suivante : const type_var var=cte; Une expression déclarée avec const a une portée limitée au fichier source qui la contient. Exemple : const int N=5; // convention une conste est ecrite en majuscule int t[N]; // en C il fallait ecrire #define N 5 Prof. Mustapha Ameur C++ & POO Bibliographie et webographie Introduction Le langage C++ Les entrées/sorties Entrées/sorties sont fournies à travers la librairie < iostream> Sortie = Affichage sur l’écran cout<<expr1 << . . .<<exprn ; Instruction affichant expr1 puis expr2, etc. . . ; qui peuvent être des variables ou des chaînes de caractères. cout : "flot de sortie" associé à la sortie standard (stdout) càd l’écran, << : opérateur binaire associatif à gauche, de première opérande cout et de 2ème opérande l’expression à afficher, << : opérateur surchargé (ou sur-défini) = ⇒utilisé aussi bien pour les chaînes de caractères, que les entiers, les réels . . .. Prof. Mustapha Ameur C++ & POO Bibliographie et webographie Introduction Le langage C++ Les entrées/sorties (suite) Exemple : #include <iostream > // pour cout et cin using namespace std; int main( ){ int a=9; cout <<"Bonjour␣"<<a<<"␣fois"<<endl; cout <<"une␣autre␣ligne␣car␣j’ai␣utilise␣endl"; return 0; } Prof. Mustapha Ameur C++ & POO Bibliographie et webographie Introduction Le langage C++ Les entrées/sorties (suite) Entrée = Saisie au clavier cin>>var1 >> . . .>>varn ; Instruction affectant aux variables var1 puis var2, etc. . . ; les valeurs lues au clavier. cin : "flot d’entrée" associé à l’entrée standard (stdin) càd le clavier, >> : opérateur similaire à << , le caractère espace est un délimiteur pour les chaînes de caractères. Attention ! Attention toute fois avec l’utilisation de cin et ses effets de bord, il faut penser à vider le Buffer avec un cout«endl ; par exemple. Prof. Mustapha Ameur C++ & POO Bibliographie et webographie Introduction Le langage C++ Les entrées/sorties (suite) Exemple : #include <iostream > // pour cout et cin using namespace std; int main( ){ int a; char* c; cin >>a; cin >>c; cout <<a<<"␣"<<c<<endl; return 0; } Prof. Mustapha Ameur C++ & POO Bibliographie et webographie Introduction Le langage C++ Les structures de contrôles Le C++, comme la plupart des autres langages de programmation, offre la possibilité de contrôler le déroulement d’un programme afin que ce dernier puisse prendre des décisions, pour cela on dispose de ce qu’on appelle : les structures de contrôle. Les conditions : permettent d’écrire dans un uploads/Litterature/ cpp-cours1.pdf

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