Witam. Analizuję działanie pewnego programu, ale nie do końca rozumiem fragment w którym zostaje przeciążony operator. Czy może mi ktoś dokładnie wytłumaczyć za co odpowiada ten kod ?
friend istream & operator >>(istream & stream, Druzyna & druzyna) {
string line;
while (getline(stream, line))
{
std::stringstream linestream(line);
Gracz gracz;
linestream >> gracz;
druzyna.team.push_back(gracz);
}
return stream;
}
Nie jest tak, że nic nie rozumiem. Poniżej zamieszczam linijki, które wymagają wytłumaczenia:
std::stringstream linestream(line);
- dlaczego po linestream jest jeszcze nawias ? Jakieś rzutowanie ?
linestream >> gracz;
- dlaczego użyto line stream, skoro w
while (getline(stream, line))
</ul>
dane są wczytywane do line ?