Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Surcharge de l'opérateur << [ Archives / Au secours ] (kenjimax)

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é 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...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,156 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.