CLASS

T_Mehdi Messages postés 294 Date d'inscription samedi 5 février 2005 Statut Membre Dernière intervention 24 juillet 2015 - 12 mars 2005 à 15:08
T_Mehdi Messages postés 294 Date d'inscription samedi 5 février 2005 Statut Membre Dernière intervention 24 juillet 2015 - 13 mars 2005 à 16:21
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

bayeto Messages postés 224 Date d'inscription mardi 12 août 2003 Statut Membre Dernière intervention 18 octobre 2010
12 mars 2005 à 15:44
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!";
0
T_Mehdi Messages postés 294 Date d'inscription samedi 5 février 2005 Statut Membre Dernière intervention 24 juillet 2015
12 mars 2005 à 15:50
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
0
mezaya Messages postés 202 Date d'inscription dimanche 18 mai 2003 Statut Membre Dernière intervention 6 mars 2010
13 mars 2005 à 12:00
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
0
T_Mehdi Messages postés 294 Date d'inscription samedi 5 février 2005 Statut Membre Dernière intervention 24 juillet 2015
13 mars 2005 à 16:21
thx
0
Rejoignez-nous