Principes de l’orienté objet en C++ : la généricité

Magazine
Marque
GNU/Linux Magazine
Numéro
248
Mois de parution
mai 2021
Domaines


Résumé

La programmation orientée objet obéit à des principes. Les 4 principaux sont l’encapsulation, l’héritage, le polymorphisme et la généricité. Dans un premier article, nous avons évoqué l’encapsulation, puis l’héritage et le polymorphisme dans un deuxième. Ce troisième et dernier article traite de la généricité.


La généricité en C++ est déclinée sous plusieurs formes. Aborder toutes ces différentes formes est une gageure dans un court article et seules quelques-unes de ces formes seront donc abordées. Il s’agit principalement de placer le développeur peu au fait de cette technique (je devrais dire ces techniques) sur la voie. Celles ou ceux qui voudront aller plus loin – bien plus loin (comme la très intéressante conception de classes basée sur des stratégies ou la métaprogrammation [1]) – pourront se documenter avec l’excellent livre (en anglais) d’Andrei Alexandrescu [2].

1. Fonctions génériques

1.1 Tentons le maximum

Pour aborder les fonctions génériques, commençons de manière très classique par le maximum de deux nombres. Nous allons faire une première hypothèse en prenant des nombres entiers non signés et codés sur 2 octets (type uint16_t) :

uint16_t maximum (const uint16_t& kprNb1, const uint16_t& kprNb2) {
 
    return kprNb1 >...
Cet article est réservé aux abonnés. Il vous reste 96% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite


Articles qui pourraient vous intéresser...

Les différents frameworks de web scraping

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
114
Mois de parution
mai 2021
Domaines
Résumé

Il ne viendrait à l’idée à personne de nos jours de se lancer dans la récupération de données sur le Web sans s’appuyer sur un framework simplifiant la tâche et évitant de réinventer la roue (carrée). Voyons donc quelques outils indispensables permettant de mener à bien cette tâche.

Écrire des mathématiques en LaTeX

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
114
Mois de parution
mai 2021
Domaines
Résumé

S’il y a bien un domaine dans lequel excelle LaTeX, c’est l’écriture de formules mathématiques complexes et autres algorithmes. Une fois que l’on connaît et que l’on comprend la syntaxe, c’est très simple… encore faut-il avoir vu cela au moins une fois !

Flutter : applications mobiles, web et desktop

Magazine
Marque
GNU/Linux Magazine
Numéro
248
Mois de parution
mai 2021
Domaines
Résumé

Flutter est un framework permettant de développer des applications natives pour Linux, Windows, macOS, Android, iOS et le Web à partir du même code source. Un moteur graphique OpenGL ultra performant et la compilation native en ARM, x86-64 ainsi que WebAssembly, associés à un cycle de développement agile et hyper intuitif, en font la solution ultime pour les créateurs d’applications. L’essayer, c’est l’adopter !

Web scraping avec Node.js

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
114
Mois de parution
mai 2021
Domaines
Résumé

Le web scraping, c’est l’activité qui consiste à gratter (to scrap) du code HTML pour en extraire des données exploitables. Node.js se prête particulièrement bien à l’exercice, aussi je vous propose d’apprendre à gratter de la donnée avec ce formidable outil.