Constructeur privés

Bjr à tous!
j'aimerai savoir comment est ce on peut créer un objet si tous les constructeur de sa classe sont privés?

3 réponses

  1. Salut,

    Si tu as une classe classeA et une autre classeB.

    Si tu veux accéder a la classeB tu dois la déclarer dans classeA..

    Private classeB = newclasseA();

    Il me semble, a voir si je ne confond pas avec java.
    1. Bonjour

      avec une méthode static.
      Je n'ai pas d'exemple en c++ comme ça mais en C#, on peut parser un entier à partir d'un string comme ça:
      int monInt = int.Parse("1");

      1. Bonjour,

        Si tous les constructeurs sont privés, les seuls qui peuvent construire l'objet sont :
        • les amis
        • les méthodes static de la classe (accessibles si elles ne sont privées.)

        class Privee {
           Privee(int);
        public:
           static Privee Creer();         // fonction static
           friend Privee monAmie();       // fonction amie
           friend struct MonAmie;         // classe Amie
        };
        Privee Privee::Creer() { return Privee(0); }
        Privee monAmie() { return Privee(1); }
        struct MonAmie {
            Privee creerPrivee() { return Privee(2); }
        };

        Dans tous les cas, celui qui peut créer un objet Privee est indiqué dans la définition de la class Privee
        1. À ce propos je recommande plutôt une méthode static, l'amitié est vraiment à utiliser en ultime recours, perso j'en ai jamais eu besoin.