Le langage C++ : Introduction à la programmation orientée objets

Telechargé par pahimiibrahim235
Ce guide est une introduction à la conception orientée objets, principes, concepts,
vocabulaire, et à la mise en oeuvre via le langage de programmation C++.
Comme son nom l’indique, C++ est un surensemble du langage C et les deux parta-
gent donc un important noyau commun. Ce guide ne traite que des spécificités de
C++ par rapport à C. Il s’adresse donc à un lectorat ayant déjà la pratique (ou au
moins une connaissance syntaxique raisonnable) du langage C.
Un autre guide, Une introduction au langage C (même auteur, même collection), est
disponible.
Édition 2.0
Auteur Jean-François Rabasse
Copyright c
1996-2005,Jean-François Rabasse
Ce manuel a été rédigé à des fins d’enseignement
et son utilisation est limitée à ce cadre.
En particulier il ne saurait remplacer les manuels
de références et normes des langages.
Contact :
http://www.lra.ens.fr/
1 Introduction 1
1.1 Le langage ............................... 1
1.2 Mise en oeuvre ............................ 2
1.3 Compatibilités ............................ 2
1.4 Spécificités du langage ........................ 3
1.5 Extensions par rapport à C ..................... 3
1.6 Notes commentaires ......................... 4
2 Objets et classes 7
2.1 L’objet logiciel ............................ 7
2.2 Classes et instances .......................... 7
2.3 Mécanismes de spécification .................... 8
2.4 Interface de classe .......................... 8
2.5 Instanciations ............................. 9
2.6 Implémentation de classe ...................... 10
2.7 Visibilités ............................... 11
2.8 Cycle de vie .............................. 12
2.9 Gestion des objets .......................... 14
3 Appels et surcharges 17
3.1 Méthodes de classes ......................... 17
3.2 Surcharges de sélection ....................... 17
3.3 Arguments optionnels ........................ 18
3.4 Notes commentaires ......................... 19
4 Héritage 21
4.1 Comportement générique ...................... 21
4.2 Classe de base ............................. 22
4.3 Spécialisation par dérivation .................... 23
4.4 Exploitation de l’héritage ...................... 25
i
Introduction au langage C++
4.5 Accès privilégiés ........................... 26
4.6 Objets composites .......................... 26
4.7 Notes commentaires ......................... 27
5 Accès, protections 29
5.1 Passages d’arguments ........................ 29
5.2 Protection en écriture ........................ 30
5.3 Codage en ligne ............................ 32
5.4 Touche à mon pote ! ......................... 34
5.5 Conclusion ............................... 34
6 Polymorphisme 37
6.1 Compatibilité hiérarchique ..................... 37
6.2 Méthodes virtuelles ......................... 38
6.3 Classes abstraites ........................... 40
6.4 Familles polymorphiques ...................... 41
A Compléments 43
A.1 Membres statiques .......................... 43
A.2 Résolution de portée ......................... 45
A.3 Qui suis-je ? .............................. 45
A.4 Structures ............................... 46
A.5 Gestion des déclarations ....................... 47
B Compatibilité C/C++ 49
B.1 Points d’entrée ............................ 49
B.2 Interface objets ............................ 52
C Surcharges d’opérateurs 55
C.1 Arithmétique complexe ....................... 55
C.2 Opérateurs sur la classe ....................... 57
C.3 Associativité .............................. 57
C.4 Surcharge de sélection ........................ 58
C.5 Objets temporaires .......................... 59
C.6 Remarques ............................... 61
C.7 Notes commentaires ......................... 62
ii
1 - Sommaire iii
D Les streams 63
E Les patrons 65
F Exceptions 69
Index 71
iii
1 / 79 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!