|
|
Le langage C++ est un langage de programmation orienté objet, développé par Bjarne Stroustrup dans le laboratoire de recherche AT&T Bell dans les années 1980. C++ a été standardisé en 1998 (ISO/IEC 14882-1998 "Information Technology - Programming Languages - C++").
C++ est basé sur le langage C. La plupart des programmes C constituent aussi des programmes C++ valides. Il y a cependant des programmes qui ne sont pas compilables en C++ alors qu'ils passent très bien en C, notamment à cause du typage plus fort: ils utilisent souvent certaines conversions implicites permises par C mais pas par C++. On peut dire que c'est un mieux, car cela permet d'éviter de nombreux bugs qui ne se révèleraient qu'à l'utilisation. Par exemple :
void* pointeur;
int* test=pointeur;
compilera très bien en C, mais risque d'occasionner des pertes de données. En C++, le compilateur indique qu'une conversion implicite invalide se produit.
Il faudrait écrire :
void* pointeur;
int* test=(int*)pointeur;
Ainsi le langage C n'est pas un sous-ensemble de C++, au sens strict. Au delà de son support de la programmation orientée objet, C++ se distingue du langage C par son support de la programmation générique (polymorphisme paramétrique), sorte de méta-programmation, grâce à l'utilisation de templates.
Le nom du langage C++ (prononcé "C plus plus") indique qu'il s'agit d'une évolution du langage C. Il évoque aussi l'opérateur ++ (double signe plus), qui dans le langage C a l'effet d'incrémenter la valeur d'une variable.
Exemple de programme :
"Hello, World"
#includeDéfinition de classeusing namespace std; int main() { cout << "Hello, world!" << endl; }
class MessageInternet
{
string m_sujet;
public:
MessageInternet (string sujet, string expediteur, string destinaire);
string sujet ();
string expediteur ();
string destinaire ();
};