Qu’est ce que le C++ ?
Rappels sur la gestion de la mémoire
Premiers pas en C++ : typage, compilation, structure de contrôle, …
Classes et objets : définitions et 1er exemple de classe
Notions de constructeurs et destructeur
Propriétés des méthodes
Surcharge des opérateurs
Objet membre
Qu’est-ce que le C++ ?
– D’après Bjarne Stroustrup, conception du langage C++ pour :
• Être meilleur en C,
• Permettre les abstractions de données
• Permettre la programmation orientée-objet
– Compatibilité C/C++ [Alard, 2000] :
• C++= sur-ensemble de C,
• C++ ⇒ ajout en particulier de l’orienté-objet (classes, héritage,
polymorphisme),
• Cohabitation possible du procédural et de l‘orienté-objet en C++
– Différences C++/Java [Alard, 2000] :
• C++ : langage compilé / Java : langage interprété par la JVM
• C/C++ : passif de code existant / Java : JNI (Java Native Interface)
• C++ : pas de machine virtuelle et pas de classe de base / java.lang.object
• C++ : « plus proche de la machine » (gestion de la mémoire)
Différences Java et C++
Gestion de la mémoire [Alard, 2000] :
– Java
• Création des objets par allocation dynamique (new)
• Accès aux objets par références
• Destruction automatique des objets par le ramasse miettes
– C++
• Allocation des objets en mémoire statique (variables globales), dans la pile (variables automatiques) ou dans le tas (allocation dynamique),
• Accès direct aux objets ou par pointeur ou par référence
• Libération de la mémoire à la charge du programmeur dans le cas de l’allocation dynamique
– Autres possibilités offertes par le C++ :
Variables globales, compilation conditionnelle (préprocesseur), pointeurs, surcharge des opérateurs, patrons de classe template et héritage multiple
……
Premiers pas en langage C++ (926 KO) (Cours PDF)