« Programmation C++/Introduction » : différence entre les versions

Contenu supprimé Contenu ajouté
Ropieur (discussion | contributions)
Ligne 19 :
 
=== Présentation du C++ ===
Le C++ est un langage multiparadigme. Il supporte essentiellement les paradigmes suivants:
Le C++ est un langage orienté objet. Il implémente la notion de typage strict, de classe, d'encapsulation, de surcharge d'opérateurs, d'héritage, simple ou multiple, de virtualité et d'abstraction. Il est largement compatible avec le langage C, ce qui est à la fois une richesse et un problème. En effet, le langage C est actuellement (en 2006) un langage largement utilisé pour écrire des systèmes d'exploitation (Windows, Linux, Max OS). Le C++ peut donc très naturellement avoir un accès direct au système d'exploitation dans le cadre d'une programmation de bas niveau, tout en permettant une programmation de haut niveau en exploitant toute la richesse des concepts orientés objet.
* programmation procédurale: il reprend essentiellement les concepts du langage C, notamment la notion de fonction (une procédure étant une fonction avec un retour de type 'void')
* programmation structurée: il reprend la notion struct du langage C. Cette notion est considérée en C++ aussi comme des classes dont l'accès par défaut est public.
* programmation orientée-objet: il implémente la notion de classe (dont l'accès par défaut est privé), d'encapsulation grâce aux restrictions d'accès (publique, protégé, privé), d'héritage (simple ou multiple) à l'aide du mécanisme de dérivation, d'abstraction grâce aux classes de base abstraites pures (on peut parler d'interface) ou non, de polymorphisme dynamique (ou au runtime) grâce aux fonctions membres virtuelles.
* programmation générique: il implémente les fonctions et classes génériques.
Outre ces grands paradigmes, C++ implémente la notion de typage strict, de constance, de polymorphisme statique (ou à la compilation) grâce à la surcharge et aux fonctions génériques, et permet également la surcharge d'opérateurs et de simuler les mixins grâce au mécanisme de dérivation multiple.
Le C++ est un langage orienté objet. Il implémente la notion de typage strict, de classe, d'encapsulation, de surcharge d'opérateurs, d'héritage, simple ou multiple, de virtualité et d'abstraction. Il est largement compatible avec le langage C, ce qui est à la fois une richesse et un problème. En effet, le langage C est actuellement (en 2006) un langage largement utilisé pour écrire des systèmes d'exploitation (Windows, Linux, Max OS). Le C++ peut donc très naturellement avoir un accès direct au système d'exploitation dans le cadre d'une programmation de bas niveau, tout en permettant une programmation de haut niveau en exploitant toute la richesse des concepts orientés objet.
 
=== Les apports du C++ par rapport au C ===