我无法覆盖文件流的<<
和>>
运算符。
struct Reading
{
int hour;
double temp;
Reading()
: hour{ 0 }, temp{ 0 } {};
Reading(int h, double t)
: hour{ h }, temp{ t } {};
};
ifstream& operator<<(ifstream& ifs, const Reading& reading)
{
return ifs << '(' << reading.hour << ',' << reading.temp << ')' << endl;
}
ofstream& operator>>(ofstream& ofs, Reading& reading)
{
ofs >> reading.hour;
ofs >> reading.temp;
return ofs;
}
当我尝试以相同的方式覆盖iostream时,我没有问题,它只是文件流。你能指出我做错了吗?
答案 0 :(得分:1)
您好像混淆ifstream
( in -filestream的缩写)用于输入和ofstream
( out -filestream的缩写) )用于输出。