Surcharger l'operateur () en C++

Fermé
yuri648 Messages postés 677 Date d'inscription mardi 30 décembre 2008 Statut Membre Dernière intervention 20 mai 2015 - 10 janv. 2012 à 11:43
yuri648 Messages postés 677 Date d'inscription mardi 30 décembre 2008 Statut Membre Dernière intervention 20 mai 2015 - 10 janv. 2012 à 13:18
Bonjour,

j'ai cette class
class FillVector
{
private:
int m_i;
public:
FillVector(int i0=0):m_i(i0){
}

void operator()(int& ref_int){
ref_int = m_i;
++m_i;
}
};



l'operateur () est surchargé mais j'arrive pas a lutiliser dans la classe main et je vois pas son utilité

pouvez vous m'aider à l'utiliser?

merci d'avance


3 réponses

Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
10 janv. 2012 à 12:29
FillVector vec(5);
int nombre=3;
vec(nombre);
std::cout<<nombre<<"==5 ? si non, il y a un problème !\n;
Je ne vois pas non plus sont utilité. En fait, je ne vois même pas l'utilité de la classe FillVector. l'opérateur () est aussi contre intuitif, modifier l'argument et retourner void, sans prendre en compte l'argument fourni en lecture... Soit c'est sortie du contexte ou il manque du code soit le gus qui a écrit ça est sacrément tordu.
0
matthoffman Messages postés 405 Date d'inscription lundi 24 mars 2008 Statut Membre Dernière intervention 22 janvier 2013 47
10 janv. 2012 à 13:17
Ba en fait l'utilite est assez evidente, il s'agit d'un compteur.

Mais bon il y a quand meme moins tordu pour faire un compteur ..., apres peut etre son utilite se revele ailleurs dans le programme.
0
yuri648 Messages postés 677 Date d'inscription mardi 30 décembre 2008 Statut Membre Dernière intervention 20 mai 2015 7
10 janv. 2012 à 13:18
merci bcp mes mais c'est juste un petit test pour tester la surcharge de l'operateur ()
0