Sommaire
>
Les classes en C++ Qu'est-ce qu'une classe ? Comment puis-je empêcher les autres programmeurs de violer l'encapsulation en accédant aux membres privés de mes classes ? Comment dériver une classe à partir d'une autre ? Qu'est-ce qu'une classe abstraite ? Qu'est-ce qu'une fonction virtuelle pure ? Que signifient public, private et protected ? Comment créer 2 classes qui font référence l'une à l'autre ? Que signifie la déclaration suivante : "statit const int MAX=10" ? Comment définir l'implémentation d'une classe en l'ayant définie comme faisant partie d'un namespace ? Pourquoi déclarer un membre static dans une classe ? Quelle est la particularité d'une méthode static ? Comment initialiser un membre static ? A quoi cela sert-il d'utiliser des accesseurs ? 5.1. Les constructeurs(17) Qu'est-ce qu'un constructeur ? Y a-t-il une différence quelconque entre List x; et list x(); ? Un constructeur d'une classe peut-il appeler un autre constructeur de la même classe pour initialiser 'this' ? Est-ce que le constructeur par défaut pour Fred est toujours Fred::Fred() ? Quel constructeur est appelé quand je crée un tableau d'objets Fred ? Mes constructeurs doivent-ils utiliser les listes d'initialisation ou l'affectation ? Puis-je utiliser le pointeur this dans un constructeur ? Qu'est-ce que l'idiome du constructeur nommé (Named Constructor)? Pourquoi ne puis-je pas initialiser un membre statique dans la liste dinitialisation ? Pourquoi les classes avec des membres statiques me donnent-elles des erreurs lors de l'édition des liens ? Qu'est-ce que le "fiasco dans l'ordre d'initialisation des variables statiques" ? Comment puis-je éviter le "fiasco dans l'ordre d'initialisation des variables statiques" ? Pourquoi l'idiome de construction à la première utilisation utilise-t-il un pointeur statique plutôt qu'un object statique ? Comment puis-je éviter le "fiasco dans l'ordre d'initialisation des variables statiques" pour les données membres statiques ? Dois-je me préocuper du "fiasco dans l'ordre d'initialisation des variables statiques" pour les types de base ? Que faire en cas d'échec du constructeur ? Qu'est ce que "l'idiome des paramètres nommés" ? 5.2. Les destructeurs(11) Qu'est-ce qu'un destructeur ? Puis-je surcharger un destructeur ? Est-il possible d'invoquer explicitement le destructeur d'une classe ? Dans quel ordre les objets locaux sont-ils détruits? Dans quel ordre les objets contenus dans un tableau sont-ils détruits? Doit-on détruire explicitement les objets locaux ? Et si on veut absolument qu'un objet local "meure" avant l'accolade fermant le bloc dans lequel il a été créé? Et s'il n'est pas possible de placer l'objet local dans une bloc artificiel? Peut-on détruire explicitement un objet alloué par new ? Dans le code d'un destructeur, doit-on détruire explicitement les objets membres? Dans le code du destructeur d'une classe dérivée, doit-on appeler explicitement le destructeur de la classe de base ? 5.3. Les amis (friend)(5) Que signifie 'friend' ? Les amis brisent-ils l'encapsulation ? Quels avantages/désavantages y-a-t-il à utiliser des fonctions friend ? Que signifie "l'amitié n'est ni héritée ni transitive, ni réciproque" ?
Ce document issu de http://www.developpez.com est soumis à la licence
GNU FDL traduit en français
ici.
Permission vous est donnée de distribuer, modifier des copies de cette page tant que cette note apparaît clairement. Certaines parties de ce document sont sous copyright Marshall Cline
|