Bonjour,
J'ai pu mettre en place l'instance unique d'une classe grâce au système de singleton disponible ici : http://cpp.developpez.com/faq/cpp/?p...LASS_singleton
J'arrive à récupérer mon instance dans toutes mes classes, mais j'aimerais maintenant pouvoir mettre mon instance unique dans une variable d'une de mes classes pour ne pas avoir à récupérer l'instance dans chaque méthode.
Ma classe singleton est la classe de Log. Pour récupérer l'instance unique, je fais :
Log& log = Log::getInstance();
Dans l'une de mes classes, j'ai déclaré cette variable privée (log):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| class MaClasse
{
private:
MaClasse();
~MaClasse();
MaClasse (const MaClasse&);
MaClasse& operator= (const MaClasse&);
public:
static MaClasse& getInstance();
void start();
void loadConfig();
private:
//Instance
static MaClasse instance;
static Log& log;
}; |
Et j'ai ajouté dans mon constructeur :
1 2 3 4 5 6 7 8
| MaClasse::MaClasse()
{
//Chargement de la configuration
loadConfig();
loggg = Log::getInstance();
} |
Mais j'ai l'erreur suivante :
error: 'Log& Log::operator=(const Log&)' is private
error: within this context
Merci d'avance pour votre aide
Partager