Changes between Version 5 and Version 6 of 2010CaoTme4


Ignore:
Timestamp:
Apr 2, 2010, 3:37:01 PM (15 years ago)
Author:
jpc
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • 2010CaoTme4

    v5 v6  
    3030
    3131{{{
     32#!cpp
    3233class Bdd {
    3334  public:
     
    151152
    152153
    153 = B) Dictionnaire de BDD =
     154= B) Techniques de Programmation =
     155
     156== B.1) Constructeur pré-conditionné ==
     157
     158Avant de créer un nouveau BDD, il est nécessaire de vérifier s'il n'existe pas déja.  Cela
     159ne peut pas être fait ''dans'' le constructeur puisque si nous sommes dans cette fonction,
     160c'est que l'objet est ''déjà'' en cours de construction.
     161
     162Pour résoudre ce problème on adopte l'architecture suivante:
     163
     164 * Le constructeur  est rendu  ''privé''. Ce  qui inderdit son  utilisation, sauf  par des
     165   fonctions membre de la classe.
     166
     167 * On ajoute  une fonction  membre statique  {{{Bdd::create()}}} qui va  jouer le  rôle du
     168   constructeur.  Comme elle  est  membre  de la  classe,  elle a  le  droit d'appeler  le
     169   constructeur. Et comme elle  est {{{static}}} elle n'est pas attachée à  un objet de la
     170   classe. Dans cette fonction on peut donc effectuer les vérifications (est-ce que le BDD
     171   existe déjà?) puis créer ou non un nouvel objet.
     172
     173
     174== B.2) Dictionnaire de BDD ==
     175
    154176
    155177Comme  il a  été montré  en cours,  une expression  booléenne sous  la forme  canonique de
     
    176198
    177199{{{
     200#!cpp
    178201if ( lhs->_index != rhs->_index ) return lhs->_index < rhs->_index;
    179202