PDA

Visualizza la versione completa : [C++] Overload operator<< per cout ?


_sys/sid
31-03-2005, 18:50
Come faccio a fare l'overload dell'operatore << per stampare la mia struttura con cout ?

Es:


class prova {
private:
int mioInt;
public:
...
????? operator<< (?????);
};


Grazie

pippuzzo80
31-03-2005, 19:29
sono un pò arruginito con il c++ ma se non ricordo male la sintassi dovrebbe essere questa(devi modificarla in base alla tua struttura)

istream operator <<(istream c, ci vanno altri parametri che dipendono dalla tua struttura)
{
return c << parametri
}

internet
31-03-2005, 21:42
Originariamente inviato da _sys/sid
Come faccio a fare l'overload dell'operatore << per stampare la mia struttura con cout ?

la dichiarazione la puoi fare così

file prova.h


#include <iosfwd>

class prova {
private:
int mioInt;
public:
friend std::ostream& operator <<(std::ostream& os, const prova& p);
friend std::istream& operator >>(std::istream& is, prova& p);
};


file prova.cpp


#include "prova.h"

using namespace std;

ostream& operator <<(ostream& os, const prova& p)
{
// codice da implementare

return os;
}

istream& operator >>(istream& is, prova& p)
{
// codice da implementare

return is;
}

Loading