CLASS

Signaler
Messages postés
294
Date d'inscription
samedi 5 février 2005
Statut
Membre
Dernière intervention
24 juillet 2015
-
Messages postés
294
Date d'inscription
samedi 5 février 2005
Statut
Membre
Dernière intervention
24 juillet 2015
-
salut a tous bon , j'ai la 2eme question au faite relié a cette parti de source la :



class ILogger
{
public :

//----------------------------------------------------------
// Destructeur
//----------------------------------------------------------
virtual ~ILogger();

//----------------------------------------------------------
// Change l'instance du logger
//----------------------------------------------------------
static void SetLogger(ILogger* Logger);

//----------------------------------------------------------
// Log un message (façon C)
//----------------------------------------------------------
static void Log(const char* Format, ...);

//----------------------------------------------------------
// Log un message (façon C++)
//----------------------------------------------------------
static ILogger& Log();
template <class T> ILogger& operator <<(const T& ToLog);

private :

//----------------------------------------------------------
// Inscrit un message - à redéfinir dans les classes dérivées
//----------------------------------------------------------
virtual void Write(const std::string& Message) = 0;

//----------------------------------------------------------
// Données membres
//----------------------------------------------------------
static ILogger* s_Instance; // Pointeur sur le logger actuel
};


1er question :

//----------------------------------------------------------
// Change l'instance du logger
//----------------------------------------------------------
static void SetLogger(ILogger* Logger);

comment ca changer l'instance :s rien pas pigé

2eme question :

//----------------------------------------------------------
// Log un message (façon C++)
//----------------------------------------------------------
static ILogger& Log();
template <class T> ILogger& operator <<(const T& ToLog);

j'ai rien compri encore la :s( la relation entre le <<(decalage) avec la reference de la classe :s)

Merci

4 réponses

Messages postés
224
Date d'inscription
mardi 12 août 2003
Statut
Membre
Dernière intervention
18 octobre 2010

Justement operator << n'est plus un decalage mais une fonction refinit.

ex: cout << a; // on decale pas cout de a mais on affiche a :)

C'est simplement une pratique courante en C++. Les operateur de decalage sont redefinit pour coller a la POO.
souvent << pour entrer et >> pour sortir.
genre cout << "Salut";
et cin >> a;

ansi si tu as ILogger journal;

journal << 10; //doit mettre 10 dans le log....
journal << "Hello, you!";
Messages postés
294
Date d'inscription
samedi 5 février 2005
Statut
Membre
Dernière intervention
24 juillet 2015

merci bcp
on parlan de decalage j'ai une question apropos :p

j'ai jamais compri comment marche vraimment le decalage si vous voulez bien me l'expliquer( je c qu'il decale les bit mais j'ai pas vraimment comrpi comment )

merci
Messages postés
202
Date d'inscription
dimanche 18 mai 2003
Statut
Membre
Dernière intervention
6 mars 2010

pour le decalage de bit :



int nombre = 0,

un = 1;



// nombre en bianire vaut 00000000

// un en binaire vaut 00000001



nombre = un << 1; // décalage 1 bit a gauche



// ici nombre en binaire il vaut 00000010 = 2



nombre = 69; // en bianire 01000101



nombre = nombre >> 2; // décalage de 2 bits a droite



// ici nombre vaut en binaire 00010001 = 17



les opérateur <<< et >>> sont identique a << et
>> sauf qu'au mieux de remplir par des 0 il le remplit par des 1

Voili,Voilou
Messages postés
294
Date d'inscription
samedi 5 février 2005
Statut
Membre
Dernière intervention
24 juillet 2015

thx