C plus plus
- REDIRECT
| Cet article fait partie de la série Langages de programmation |
| Langages orientés objet |
| C++ - C# Common Lisp Object System Delphi - Eiffel - Java |
| Langages impératifs |
| Ada - APL - ASP Assembleur BASIC - C - Pascal |
| Langages fonctionnels |
| Lisp/Common Lisp Forth - Logo - Scheme |
| Langages déclaratifs |
| Clips - Prolog |
| Voir aussi |
| Conception - Codage - Testss |
Le C++ est un langage de programmation. Ce langage permet la programmation sous de multiples paradigmes : la programmation procédurale, la programmation orientée objet, la programmation générique. Il s'agit également d'un langage à typage fort. Pendant les années 1990, le C++ est devenu l'un des langages de programmation les plus populaires dans l'industrie informatique. Le langage C++ n'appartient à aucune entreprise et, par conséquent, le développeur ne doit s'acquitter d'aucunes royalties pour l'utiliser.
Bjarne Stroustrup a développé C++ pendant les années 1980, alors qu'il travaillait dans le laboratoire de recherche Bell d'AT&T;.
Il s'agissait alors d'améliorer le langage C. Il l'avait d'ailleurs appelé C with classes (« C avec des classes »). Les premières améliorations à C étaient donc l'ajout du support des classes, suivies de nombreuses autres : l'héritage, les fonctions virtuelles, la surcharge d'opérateurs, l'héritage multiple, les templates, la gestion d'exceptions... (une autre extension, non compatible, se nommait Objective C).
Le langage C++ est normalisé par l'ISO. Sa première normalisation date de 1998. La dernière révision de la normalisation date de 2003.
La normalisation s'effectue sur deux parties : le langage à proprement parlé (Core Language) ; la bibliothèque standard (C++ Standard Library). La seconde inclut la Standard Template Library et la Standard Library de C.
Il existe de nombreuses autres bibliothèques en C++. Grà¢ce à sa compatibilité avec le C, C++ permet également l'utilisation des nombreuses bibliothèques C existantes, mais en ce cas sans les avantages de l'approche objet.
| Sommaire |
|
2 La bibliothèque standard (C++ standard library) 3 La programmation orientée objet dans le C++ 4 L'encapsulation en C++ 5 Exemples de programme |
En résumé, le C++ est un C supportant plus de fonctionnalités. Cette affirmation n'est pas tout à fait exacte, car certains programmes syntaxiquement corrects en C, ne le sont pas en C++.
Le C++ introduit par rapport au C les fonctionnalités suivantes :
Fonctionnalitées introduites par le C++
La compilation d'un programme en C++ effectue également plus de contrà´les sur les types que le C.new et delete pour la gestion d'allocation mémoire ;
bool (booléen) ;
const pour définir des constantes (repris par C à la fin des années 1980) ;
inline ;
:: ;
La bibliothèque C++ standard est en grande partie un sur-ensemble des fonctions disponibles dans la bibliothèque C standard. Elle comprend également la STL qui met à la disposition du programmeur des outils puissants commes les collections et les itérateurs, ainsi que des algorithmes courants applicables sur ces collections.
Comme pour le C, pour utiliser dans son code source une bibliothèque de fonctions, il faut utiliser la directive de compilation
A l'origine, la STL était une bibliothèque développée par Hewlett-Packard. Dans la norme, celle-ci n'est pas appelée STL, car elle est considérée comme faisant partie de la bibliothèque C++ standard, mais beaucoup de personnes l'appellent encore de cette manière pour distinguer les fonctions d'entrées/sorties comprises dans cette bibliothèque, de celles fournies par la bibliothèque C.
Le C++ introduit des concepts de programmation orientée objet au C. Il offre pour ce faire les classes, qui couvrent deux besoins essentiels pour faire de la programmation orientée objet.
Le C++ permet l'encapsulation grà¢ce à la possibilité de déclarer les membres d'une classe comme
La bibliothèque standard (C++ standard library)
#include suivie du nom du fichier d'en-tête contenant les prototypes de fonctions.La programmation orientée objet dans le C++
L'encapsulation en C++
public, private ou protected.
Il est donc possible de ne pas encapsuler les membres de ses classes en déclarant tous les membres public, mais au prix de la perte d'une partie des bénéfices apportés par la programmation orientée objet. Il est de bon usage de déclarer toutes les données privées, ou au moins protégées, et de rendre publiques les méthodes agissant sur ces données. Ceci permet de cacher les détails de l'implémentation de la classe.friend.