Есть такой вот класс :
Team.h :
#ifndef TEAM_H_
#define TEAM_H_
#include <iostream>
#include <string>
using namespace std;
class Team
{
friend ostream& operator << (ostream&, const Team& );
friend istream& operator >> (istream&, const Team& );
public:
string TeamName;
int win;
int lose;
int draw;
int score;
Team ();
};
#endif /*TEAM_H_*/
#include "Team.h"
using namespace std;
Team::Team()
{
score=win*3+draw;
}
ostream& operator << (ostream& outs, const Team& ob)
{
outs<< ob.TeamName;
return outs;
}
istream& operator >> (istream& ins, const Team& ob)
{
cout <<"Input team name : ";
ins >> ob.TeamName; // тут ошибка.Почему?разобрался.нет,не разобрался..не понимаю почему.
//no match for 'operator>>' in 'std::cin >> ob->Team::TeamName'
return ins;
}
istream& operator >> (istream& ins, Team& ob)
{
cout <<"Input team name : ";
ins >> ob.TeamName;
return ins;
}
хвщ..вот это да))извините..Спасибо на автомате не задумываясь написал..
хм...но после этого исправления появилось ещё "море" ошибок.
#include "Team.h"
using namespace std;
Team::Team() // тут,говорит о мульти объявлении.
{
score=win*3+draw;
}
ostream& operator << (ostream& outs, const Team& ob) // и тут соотвественно
{
outs<< ob.TeamName;
return outs;
}
istream& operator >> (istream& ins, const Team& ob)// и тут.что не так я написал в заголовочном файле?
{
cout <<"Input team name : ";
ins >> ob.TeamName;
//no match for 'operator>>' in 'std::cin >> ob->Team::TeamName'
return ins;
}
да это я потом уже разобрался,но всеравно спасибо.Я очень невнимателен - хз как с этим бороться