Operatore <<

di il
1 risposte

Operatore <<

Raga, se ho questa classe,
#ifndef PRODOTTO_H_
#define PRODOTTO_H_
#include<string>
#include<list>
#include<iostream>
using namespace std;
#include"Nazione.h"

class Prodotto
{
	friend ostream& operator << (ostream& out, const Prodotto& p);
public:
	Prodotto();
	Prodotto(string nome, string marca);
	void setNome(string nome);
	void setMarca(string marca);
	virtual double getPrezzo() = 0;
	string getNome();
	string getMarca();
	virtual ~Prodotto();

protected:
	string nome;
	string marca;
	double prezzoInEuro;
	list<Nazione> nazioniDiVendita;
};

#endif
Perche se faccio cosi:
ostream& operator << (ostream& out, const Prodotto& p)
{
	out << "Nome prod: " << p.nome << endl;
	out << "Marca prod: " << p.marca << endl;
	for(list<Nazione>::const_iterator it = p.nazioniDiVendita.begin(); it != p.nazioniDiVendita.end(); it++)
		out << *it << endl;
	return out;
}
mi da errore? Non c e modo di implenentare l operatore << se si ha una lista negli attributi?
Grazie..

1 Risposte

Devi accedere o registrarti per scrivere nel forum
1 risposte