GNU/Linux Magazine Hors-série N°
Numéro
83

Débutez en C++

Temporalité
Mars/Avril 2016
Image v3
Débutez en C++
Article mis en avant

Résumé

Le développement logiciel est une science exacte et comme toute science, elle a ses principes inaliénables et ses lois incontournables. Développer un logiciel est un exercice qui requiert de multiples compétences qui vont bien au-delà de la simple connaissance d'un langage de programmation. Mais cette connaissance est un atout indispensable, sa maîtrise essentielle pour prendre de la distance avec le projet. Il faut savoir ce qu'il est possible de faire et l'avoir pratiqué suffisamment pour être capable de concevoir la solution idéale, la plus simple, la plus directe, la plus élégante, puis organiser son projet en briques indépendantes, réutilisables, testables, en un mot : fiables.

Dans ce numéro...


Depuis plus de 30 ans, la popularité de C++ ne s'est jamais démentie. À ce jour, il est l'un des langages les plus utilisés, en particulier dans des domaines très exigeants, comme le temps réel. Il présente en effet de sérieux avantages : extrêmement cohérent, portant de nombreux concepts essentiels, reposant sur le C, référence absolue des langages statiques bas niveau, et permettant l'utilisation du paradigme objet, il a toutes les armes pour permettre le développement rapide de logiciels complexes.
Ce premier article a pour vocation de vous donner tous les éléments pour que vous soyez capables de travailler dans des conditions optimales. Nous allons également introduire quelques notions élémentaires, préciser quelques points de vocabulaire et détailler ce qu'est un programme et comment l'on passe du code source au programme.
Cet article a pour vocation d'introduire le langage C++, en commençant par présenter deux éléments de base – le nombre et la chaîne de caractères – et en vous donnant les premières notions d'algorithmique tout en développant notre jeu de casse-briques.
Cet article va revenir sur certaines notions déjà abordées et vous donner des clés supplémentaires pour les exploiter pleinement.Il donnera également des explications détaillées sur les pointeurs et les références, notions qu'il faut impérativement maîtriser dès maintenant, puisqu'on les utilisera de manière abondante dès le prochain article.Nous introduirons ensuite les conteneurs et en présenterons une sélection de manière détaillée.
Dans cette partie, nous allons nous attaquer à la force principale de C++ : la Programmation Orientée Objet (POO). Nous allons découvrir par étapes successives les différentes facettes de ce paradigme particulier. Notamment, nous allons y découvrir l'essentiel sur la définition des classes et comment utiliser l'héritage et les interfaces. Nous allons créer des opérateurs de classes et des fonctions virtuelles, puis découvrir les détails du polymorphisme et du typage dynamique.
Depuis les articles précédents, vous avez eu le temps de digérer les itérateurs, les chaînes de caractères, les ensembles, les pointeurs et les références ? C'est tant mieux, car nous allons en rajouter une petite couche pour vous donner définitivement toutes les clés pour vous permettre de prendre en main la bibliothèque C++ par vous-même. Nous terminerons par vous montrer comment réaliser un code générique et comment le spécialiser dans un second temps, le dernier des grands points incontournables de C++.
Nous arrivons maintenant dans la dernière ligne droite du projet : l'essentiel des classes du jeu est prêt, il ne nous manque plus que la capacité d'afficher les objets et de terminer l'implémentation de la classe principale du jeu, celle qui va orchestrer l'ensemble.
Aide-mémoire - les concepts clés du langage

Magazines précédents

Créez votre première application Android
GNU/Linux-Magazine Hors-série N°82
Créez votre première application Android
Le guide pour apprendre à programmer en C en 5 jours !
GNU/Linux-Magazine Hors-série N°80
Le guide pour apprendre à programmer en C en 5 jours !
PHP efficace
GNU/Linux-Magazine Hors-série N°79
PHP efficace
Analyse de données & Big Data
GNU/Linux-Magazine Hors-série N°78
Analyse de données & Big Data
Programmation orientée objet
GNU/Linux-Magazine Hors-série N°77
Programmation orientée objet

Les derniers articles Premiums

Les derniers articles Premium

Stubby : protection de votre vie privée via le chiffrement des requêtes DNS

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Depuis les révélations d’Edward Snowden sur l’espionnage de masse des communications sur Internet par la NSA, un effort massif a été fait pour protéger la vie en ligne des internautes. Cet effort s’est principalement concentré sur les outils de communication avec la généralisation de l’usage du chiffrement sur le web (désormais, plus de 90 % des échanges se font en HTTPS) et l’adoption en masse des messageries utilisant des protocoles de chiffrement de bout en bout. Cependant, toutes ces communications, bien que chiffrées, utilisent un protocole qui, lui, n’est pas chiffré par défaut, loin de là : le DNS. Voyons ensemble quels sont les risques que cela induit pour les internautes et comment nous pouvons améliorer la situation.

Surveillez la consommation énergétique de votre code

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Être en mesure de surveiller la consommation énergétique de nos applications est une idée attrayante, qui n'est que trop souvent mise à la marge aujourd'hui. C'est d'ailleurs paradoxal, quand on pense que de plus en plus de voitures permettent de connaître la consommation instantanée et la consommation moyenne du véhicule, mais que nos chers ordinateurs, fleurons de la technologie, ne le permettent pas pour nos applications... Mais c'est aussi une tendance qui s'affirme petit à petit et à laquelle à terme, il devrait être difficile d'échapper. Car même si ce n'est qu'un effet de bord, elle nous amène à créer des programmes plus efficaces, qui sont également moins chers à exécuter.

Donnez une autre dimension à vos logs avec Vector

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Avoir des informations précises et détaillées sur ce qu’il se passe dans une infrastructure, et sur les applications qu'elle héberge est un enjeu critique pour votre business. Cependant, ça demande du temps, temps qu'on préfère parfois se réserver pour d'autres tâches jugées plus prioritaires. Mais qu'un système plante, qu'une application perde les pédales ou qu'une faille de sécurité soit découverte et c'est la panique à bord ! Alors je vous le demande, qui voudrait rester aveugle quand l'observabilité a tout à vous offrir ?

Body