Chapitre 9 – La classe Matrice<T>
Résumé – Chap 9 – La classe Matrice<T> La première version de Matrice stockait uniquement des coefficients de type double. Créer ensuite une classe pour les int, une autre pour les float et ainsi de suite obligerait à recopier les mêmes algorithmes. Le but du chapitre est donc de transformer cette classe déjà complète en […]
Chapitre 8 – Les templates
Chapitre 7 – Conversions de types et transtypage
Chap 7 – Conversions de types et transtypage Le C++ est fortement typé : le type d’une valeur détermine sa représentation et les opérations qui peuvent lui être appliquées. Un programme doit pourtant souvent faire interagir des valeurs de types différents. La conversion permet cette adaptation, mais elle ne doit pas être considérée comme un […]
Chapitre 6 – Compositions et relations entre classes
Résumé : Chapitre 6 – Composition et relations entre classes Un programme orienté objet ne se construit pas uniquement avec des classes isolées ou reliées par héritage. Les objets doivent aussi collaborer et certains constituent naturellement des parties d’objets plus complexes. Une voiture, par exemple, n’est pas un moteur : elle possède un moteur. Cette […]
Chapitre 5 – Surcharge d’opérateur
Résumé : Chap 5 – La surcharge d’opérateurs Lorsque nous créons une classe, le compilateur connaît sa structure, mais il ne peut pas deviner ce que doivent signifier les opérateurs appliqués à ses objets. L’addition de deux nombres complexes est évidente pour le mathématicien, mais l’expression z1 + z2 n’a aucun sens pour le C++ […]
Chapitre 4 – Le polymorphisme
Résumé – Chap 4 – Le polymorphisme Ce chapitre a pour objectif de montrer comment des objets appartenant à des classes différentes peuvent être manipulés à travers une interface commune tout en conservant leur comportement propre. Les classes Carre et Disque représentent des formes différentes, mais elles proposent toutes deux le même service : calculer […]
Chapitre 3 – L’héritage
Résumé : Chap 3 – L’héritage Ce chapitre a pour objectif d’introduire l’héritage comme un mécanisme permettant de construire une classe spécialisée à partir d’une classe plus générale. Il commence par comparer les vecteurs à deux et à trois dimensions. Malgré leurs nombreuses ressemblances, un vecteur quelconque de l’espace n’est pas un vecteur du plan […]
Chapitre 2 – L’encapsulation
Résumé : Chap 2 – L’encapsulation Ce chapitre a pour objectif d’approfondir l’encapsulation en construisant progressivement une classe représentant un vecteur dans le plan. Une première version de la classe expose directement les composantes x et y. Cette solution est simple, mais elle permet à toutes les parties du programme de consulter et de modifier […]
Chapitre 1 – Les classes
Résumé : Chap 1 – Les classes Ce chapitre a pour objectif d’introduire les classes, qui constituent l’un des fondements de la programmation orientée objet en C++. Il commence par montrer comment organiser un projet important dans plusieurs fichiers. Le fichier principal contient le déroulement général, le fichier d’en-tête décrit la classe et le fichier […]