Encyclopedie-1.com

Accueil | Plan du Site
Google

C plus plus

             

  1. REDIRECT


Cet article fait partie de
la série Langages de programmation
Langages orientés objet
C++ - C#
Common Lisp Object System
Delphi - Eiffel - Java
Langages impératifs
Ada - APL - ASP
Assembleur
BASIC - C - Pascal
Langages fonctionnels
Lisp/Common Lisp
Forth - Logo - Scheme
Langages déclaratifs
Clips - Prolog
Voir aussi
Conception - Codage - Testss

Le C++ est un langage de programmation. Ce langage permet la programmation sous de multiples paradigmes : la programmation procédurale, la programmation orientée objet, la programmation générique. Il s'agit également d'un langage à  typage fort. Pendant les années 1990, le C++ est devenu l'un des langages de programmation les plus populaires dans l'industrie informatique. Le langage C++ n'appartient à  aucune entreprise et, par conséquent, le développeur ne doit s'acquitter d'aucunes royalties pour l'utiliser.

Bjarne Stroustrup a développé C++ pendant les années 1980, alors qu'il travaillait dans le laboratoire de recherche Bell d'AT&T;.

Il s'agissait alors d'améliorer le langage C. Il l'avait d'ailleurs appelé C with classes (« C avec des classes »). Les premières améliorations à  C étaient donc l'ajout du support des classes, suivies de nombreuses autres : l'héritage, les fonctions virtuelles, la surcharge d'opérateurs, l'héritage multiple, les templates, la gestion d'exceptions... (une autre extension, non compatible, se nommait Objective C).

Le langage C++ est normalisé par l'ISO. Sa première normalisation date de 1998. La dernière révision de la normalisation date de 2003.

La normalisation s'effectue sur deux parties : le langage à  proprement parlé (Core Language) ; la bibliothèque standard (C++ Standard Library). La seconde inclut la Standard Template Library et la Standard Library de C.

Il existe de nombreuses autres bibliothèques en C++. Grà¢ce à  sa compatibilité avec le C, C++ permet également l'utilisation des nombreuses bibliothèques C existantes, mais en ce cas sans les avantages de l'approche objet.

Sommaire
1 Fonctionnalitées introduites par le C++
2 La bibliothèque standard (C++ standard library)
3 La programmation orientée objet dans le C++
4 L'encapsulation en C++
5 Exemples de programme

Fonctionnalitées introduites par le C++

En résumé, le C++ est un C supportant plus de fonctionnalités. Cette affirmation n'est pas tout à  fait exacte, car certains programmes syntaxiquement corrects en C, ne le sont pas en C++.

Le C++ introduit par rapport au C les fonctionnalités suivantes :

La compilation d'un programme en C++ effectue également plus de contrà´les sur les types que le C.

La bibliothèque standard (C++ standard library)

La bibliothèque C++ standard est en grande partie un sur-ensemble des fonctions disponibles dans la bibliothèque C standard. Elle comprend également la STL qui met à  la disposition du programmeur des outils puissants commes les collections et les itérateurs, ainsi que des algorithmes courants applicables sur ces collections.

Comme pour le C, pour utiliser dans son code source une bibliothèque de fonctions, il faut utiliser la directive de compilation #include suivie du nom du fichier d'en-tête contenant les prototypes de fonctions.

A l'origine, la STL était une bibliothèque développée par Hewlett-Packard. Dans la norme, celle-ci n'est pas appelée STL, car elle est considérée comme faisant partie de la bibliothèque C++ standard, mais beaucoup de personnes l'appellent encore de cette manière pour distinguer les fonctions d'entrées/sorties comprises dans cette bibliothèque, de celles fournies par la bibliothèque C.

La programmation orientée objet dans le C++

Le C++ introduit des concepts de programmation orientée objet au C. Il offre pour ce faire les classes, qui couvrent deux besoins essentiels pour faire de la programmation orientée objet.

  • L'encapsulation, qui permet de faire abstraction du comment fonctionne une classe et de ne se préoccuper que des services rendus par celle-ci.
  • L'héritage, qui permet le polymorphisme.

L'encapsulation en C++

Le C++ permet l'encapsulation grà¢ce à  la possibilité de déclarer les membres d'une classe comme public, private ou protected.

  • Lorsqu'il est déclaré public, un membre est accessible depuis n'importe quelle fonction.
  • Un membre déclaré private est accessible uniquement depuis les fonctions qui sont membres de la classe ainsi qu'aux fonctions pour lesquelles la classe aura explicitement donné accès à  ses membres private à  l'aide du mot réservé friend.
  • Le mot clé protected apporte plus de souplesse par rapport à  private en permettant à  un membre défini en tant que tel d'être accessible en plus par les classes filles.

Il est donc possible de ne pas encapsuler les membres de ses classes en déclarant tous les membres public, mais au prix de la perte d'une partie des bénéfices apportés par la programmation orientée objet. Il est de bon usage de déclarer toutes les données privées, ou au moins protégées, et de rendre publiques les méthodes agissant sur ces données. Ceci permet de cacher les détails de l'implémentation de la classe.

Exemples de programme

"Hello, world"

#include 
int main()
{
  std::cout << "Hello, world!" << std::endl;
}

Déclaration de classe

class MessageInternet
{
 private:
  string m_sujet;
  string m_expediteur;
  string m_destinataire;
 public:
  MessageInternet (string sujet, string expediteur, string destinataire);
  string sujet ();
  string expediteur ();
  string destinataire ();
};

Déclaration de templates

template class Message {
 public:
  typedef String string_type;
 private:
  string_type m_sujet;
  string_type m_expediteur;
  string_type m_destinataire;
 public:
  Message(string_type sujet, string_type expediteur, string_type destinataire);
  string_type sujet ();
  string_type expediteur ();
  string_type destinataire ();
};

typedef Message MessageString;  // MessageString est fonctionnellement équivalent à  
                                        // la classe MessageInternet ci dessus
typedef Message MessageUnicode;




Google


Encyclopedie-1.com - Plan du Site: - A - B - C - D - E - F - G - H - I - J - K - L - M - N - O - P - Q - R - S - T - U - V - W - X - Y - Z
Autre Sites: Achat-DVD.XS5.com - MovieWalrus.com -