Originariamente inviato da shodan
Lo scopo di quell'operatore sarebbe di effettuare un confronto, non di assegnare dati.
Meglio se posti i dettagli del codice.
P.S.
La barra di chiusura del tag code è l'altra.
ok, grazie, eccolo di seguito:
codice:
File aula.h
class aula {
private:
string nome;
int codice;
public:
aula();
virtual ~aula();
void setNome(string n) {nome=n;}
string getNome() const {return nome;}
void setCodice(int p) {codice=p;}
int getCodice() const {return codice;}
bool operator<(aula const& au) const; //necessario per usare contenitore set
friend ostream& operator<<(ostream& a, aula const& au);
};
File aula.cpp
#include "aula.h"
(......)
bool aula::operator<(aula const& au) const {
return codice < au.codice;
}
ostream& operator<<(ostream& a, aula const& au) {
return a << "aula: " << au.nome << " codice: " << au.codice ;
};
File MainProgram.cpp
(dopo aver inserito gli oggetti nel set:)
set<aula>::iterator it_au; //(set1)
set<aula2>::iterator it; //(set2)
string nom;
for (it_au= set1.begin(); it_au !=set1.end(); it_au++)
{
for (it= set2.begin(); it != set2.end(); it++)
if ((*it_au).getCodice()== (*it).getCodice()) {
nom=(*it).getNome();
(*it_au).setNome(nom);