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. 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
    0
    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.
      0
  2. 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.
    -2
    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");

      -2