begin process at 2012 05 30 04:37:48
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Surcharge de l'opérateur <<


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Surcharge de l'opérateur <<

dimanche 29 mai 2005 à 13:00:34 | Surcharge de l'opérateur <<

kenjimax


Bonjour à tous,

Je rencontre un petit probleme avec la surcharge de l'opérateur <<. Dans une classe mere, je veux afficher les caractéristiques d'un objet (taille, position) sur la sortie courante (la console en l'ocurrence), je fais donc :
friend ofstream operator << (ofstream &out, SINA_Chose &chose); //SINA_Chose est une classe

Mais mon probleme vient du fait que la fonction ne peut pas etre déclarée virtual... la classe SINA_Chose etant destinée à etre dérivée, c'est cette fonction qui sera toujours appelée, je ne pourrais donc pas la redéfinir. En partant du fait que tous mes pointeurs seront des SINA_Chose que j'initialiserai en un objet de d'une classe héritée...

Je sais pas si je suis super clair :D
Merci de m'avoir lu deja :)
dimanche 29 mai 2005 à 13:19:34 | Re : Surcharge de l'opérateur <<

luhtor

Oui c'est pas très clair, mais je devine :)
Il me semble que la solution c'est de déclarer une fonction virtuel qui retourne un std::string, ou autre chose du genre. Une fonction que tu redéfinis dans chaque class dérivée comme tu le souhaites. Dans ta classe de base, tu définiras la surcharge ainsi:

class TA_CLASS_DERIVEE
{
...
std::string la_fonction_qui_retourne_la_chaine() const;
...
}

std::ostream & operator << (std::ostream & _chaine, const SINA_Chose & _which)
{
    return _chaine << _which.la_fonction_qui_retourne_la_chaine();
}

++


Cette discussion est classée dans : fonction, probleme, classe, opérateur, surcharge


Répondre à ce message

Sujets en rapport avec ce message

Probleme avec les threads en C++ sour linux [ par benjamvs ] Bonjour,j'ai le probleme suivant a regler en C++je travaille sur les threads sous linux, avec la librairie "pthread"Lorsque je crée un thread, celui c probleme avec une fonction de log [ par erazor ] bonjourvoila, mon probleme est le suivant: je suis en train de programmer un jeu de stratégie temps réel afin de me former a la prog en cpp et afin d' La surcharge de l'opérateur ++ sur un pointeur de classe Node [ par nord666 ] Bonjour à tous,J'ai un problème avec la surcharge de l'opérateur ++ sur un pointeur de classe Node.Je veux que ++ptrNode ou quelque chose d'identique Probleme fermeture de Thread!!! [ par Dryko ] Bonjour, Je suis en train de programmer une application MFC dans lequel je créer un thread (avec CreateThread) dans le constructeur de ma classe. Dans Probleme de classe, conventions d'appel (MFC) [ par Taurnil ] Bonjour à tous, j'ai posté un topic sur les MFC il y a quelques temps et je m'étonnais de n'avoir aucune réponse, la raison en était toute simple, je tableau [ par MBALHOUSSE ] bonjour 1) au fait, je veux programmer une fonction en C qui renvoie une valeur entier pour chaque motcad j'ai besoin d'un tableau de caractere comme Probleme entrées/sorties [ par tyronimo ] je suis un peu novice dans le domaine.J'aurais voulu savoir quelle est la différence entre la fonction read() et la fonction readFully(), dans quels d RegisterClassEx [ par Ziman ] Bonjour,je me pose une tite question. En fait, je vois dans tout les code pour l'API win32 la fonction RegisterClassEx, j'ai vu qu'elle servait à cré probleme avec char et strcat :'( [ par paulina82 ] bonjour a tous. j'ai un probleme avec char er stract. enfaite j'ai fais 2 fonction. la 1ere qui doit initialisé un tableu avec une chaine de caracter probleme d'heritage [ par naddoush ] salut tout le monde, j'ai deux classes: classe dialog qui herite de QDialog et classe MyWidget qui herite de QMainWindow. bon, la classe MyWidget a c


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,933 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales