overriding istream and ofstream
overriding istream and ofstream
我在覆盖文件流的<<
和>>
操作符时遇到了问题。
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时,我没有问题,它只是与文件流。你能指出我做错了什么吗?
您似乎混淆了用于输入的ifstream
(in- fileststream中的的缩写)和用于输出的ofstream
(out- fileststream的缩写)。
相关文章:
- C++核心准则 C35 对于接口类"A base class destructor should be either public and virtual, or protected and nonv
- 为什么C++逐位AND运算符在不同大小的操作数中表现为这样
- 为什么 Clang 不允许"and"作为函数名称?
- 位阵列上的快速AND运算
- 是否可以在 C++03 中定义'move-and-swap idiom'等效项
- BoostPython and CMake
- std::ofstream 作为类成员删除复制构造函数?
- OpenSSL BIO and SSL_read
- Gurobi GRBModel and GRBmodel in C++
- ofstream::close() 是否在 Linux 上调用同步?
- std::visit and std::variant usage
- SHBrowseForFolder with BIF_BROWSEFORCOMPUTER and SHGetPathFr
- 如何在软件代码中使用ofstream创建文件
- Directx12 and keystrokes
- Using ifstream, ofstream and fstream
- Openmp with ofstream and system command
- C++, regarding fprintf and ofstream
- Ifstream and Ofstream problems
- overriding istream and ofstream
- fstream and ofstream