Formation aux langages C et C++

Présentation

Le C est un langage de programmation impératif, généraliste, issu de la programmation système. Inventé au début des années 1970 pour réécrire UNIX, C est devenu un des langages les plus utilisés. De nombreux langages plus modernes comme C++, Java et PHP reprennent des aspects de C.

Le C++ est un langage de programmation permettant la programmation sous de multiples paradigmes comme la programmation procédurale, la programmation orientée objet et la programmation générique. Le langage C++ n'appartient à personne et par conséquent n'importe qui peut l'utiliser sans besoin d'une autorisation ou obligation de payer pour avoir le droit d'utilisation. (Wikipédia).


Formation C++ AP Formation

Objectifs

Maîtriser le langage C via l'apprentissage des mécanismes de base et des syntaxes. Acquérir une bonne méthodologie de développement dans ce langage.

Pour être programmeur C++ expert, il vous faudra beaucoup de pratique. La formation vous apportera :

  • la connaissance de l'utilisation de la bibliothèque standard (STL)
  • les constructions syntaxiques pointues.
  • la connaissance de la programmation générique,
  • la la connaissance de la programmation dynamique (RTTI)
  • l'utilisation de l'héritage multiple de façon approprié. 

Public

Développeurs ayant à maintenir ou rédiger des applications en langage C.

Pré-requis

La maîtrise du langage C constitue l'outil indispensable pour divers domaines de la programmation (C, programmation système, réseau ... ).

Compétences clés à acquérir 

  • fonctions et des classes templates, POO, gestion des exceptions,  la bibliothèque Boost, programmation générique,flux (E/S)opérateurs et des pointeurs pour implémenter l'indirection, requêtes (RTTI), l'héritage, libération des ressources

Compléments d'informations

Introduction

  • Caractéristiques du langage
  • Aspect général d'un programme C
  • Compilateur C

Eléments de base

  • Commentaires, identificateurs, mots réservés
  • Constantes
  • Variables ( types de base, classes d'allocation )
  • Opérateurs et expressions
  • Instructions ( tests, aiguillage, boucles ... )

Types dérivés

  • Tableaux
  • Gérer les chaînes de caractères
  • Structures et unions
  • Enumérations
  • Types synonymes

Fonctions

  • Déclaration des fonctions ( prototypes )
  • Écriture et appel des fonctions
  • Passage d'arguments
  • Valeur de retour

Pointeurs

  • Rôle des pointeurs
  • Utilisation des pointeurs
  • Pointeurs et tableaux

Bibliothèque standard

  • Comment utiliser la bibliothèque standard ?
  • Principaux utilitaires
  • Fonctions mathématiques
  • Fonctions d'entrées / sorties
  • Lecture / Ecriture sur fichier

Directives compilation

  • Définitions de constantes
  • Inclusions de fichiers
  • Compilations conditionnelles

Aspects avancés

  • Pointeurs de pointeurs
  • Pointeurs de fonctions
  • Fonctions à nombre d'arguments variable
  • Allocation dynamique de mémoire
  • Introduction à la programmation de listes

Les fondamentaux

  • Caractéristiques du C (domaine d'application)
  • Entrées / sorties élémentaires en C (cin, cout, ...).
  • Utilisation de iostream.h
  • Références
  • Surcharge des fonctions
  • Valeurs par défaut et prototypes

Objets et classes

  • Concepts objets
  • Classes et instances
  • Données membres
  • Fonctions membres
  • Parties publiques et privées
  • Membres statiques
  • Instanciation et Initialisation
  • Déclarations, Constructions, Destructions
  • Allocations dynamiques (new,delete)
  • Operator= et "copy constructor"

Relations entre classes

  • Composition
  • Enchaînement des constructeurs et destructeurs
  • Héritage
  • Mot clef "protected"
  • Fonctions virtuelles
  • Polymorphisme
  • Classes abstraites

Aspects avancés

  • Mot clef "friend"
  • La surcharge des opérateurs
  • Templates / STL
  • Présentation des chaînes de caractères ( aux formats "char*" et "std::string").
  • Exceptions
  • RunTime, Type Information et les conversions de type namespace