[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-team] [OUT OF TOPIC][C++] Lacunes en C++



Title: [OUT OF TOPIC][C++] Lacunes en C++

[comme je sais qu'il y a des bases en C++ dans cette lidie ...]

Bonjour,
       
        Je refais du C++ après un petit temps et je tombe sur un os.

        J'aimerais créer une classe dont le constructeur initialise une variable avec l'appel d'une fonction.

        Mais voilà, je peux tester le retour de cette fonction, et je ne sais pas comment je doit réagir si cette fonction retourne une erreur et donc que la variable n'est pas initialisée. La variable n'étant pas initialisée, l'objet (classe) n'a plus de raison d'être.

          ex:
       
class philo {
      philo();
        ~philo();
        TYPE_MACHIN *variable;
}

philo::philo(){
        variable=fonction_qui_est_dans_une_librairie_pas_a_moi_qui_initialise_des_trucs();

        if (variable==NULL) {
              // pas bonne initialisation
              // qu'est-ce que je fais
      }
}

philo::~philo(){
        // je devrais tester ici si variable est != NULL
        destructeur_des_machins(variable);
}

        Maintenant je cherche un truc qui permet à la (aux) fonction(s) qui crée(nt) un object de type philo que ca c'est mal passé du coté constructeur.

        du genre

              philo *my_philo_variable;
             
              if ((my_philo_variable=new philo)== NULL) {
                    // ok c'est ko
              }



       Si quelqu'un à quelques idées sur cette question philosophique.

        Merci.