Envoyé par
Arzar
Ce n'est pas si embêtant qu'il n'y parait vu qu'en pratique on ne va jamais appeler un constructeur directement
Et bien, ahem... c'est ce que je comptais faire pour mon logger.
L'idée c'est que j'ai mon logger en singleton (ou variable globale c'est pareil), et je comptais faire une fonction libre dans le style:
void my_log( mon_looger.instance()->Log( "blabla" );
Sauf qu'en fait, je trouvais pas mal l'idée de, à la place de cette fonction, faire une classe Log qui serait amie de mon logger, afin de tout mettre en privé dans mon logger et ainsi d'en d'interdire totalement l'utilisation.
Et j'en suis donc arrivé à une classe Log dont le constructeur prend un const string & en paramètre et c'est ce constructeur qui effectue le log. Et ça marchait très bien jusqu'à aujourd'hui où j'ai essayé de logger un objet string (jusqu'ici je ne loggais que des chaines du type "blabla" ).
Partager