C++标准库中文件流类的继承关系
继承结构:
std::ios
├── std::istream
│ └── std::ifstream
├── std::ostream
│ └── std::ofstream
└── std::iostream
└── std::fstream
1 std::ios 类
作用:std::ios
是所有流类的基类,提供了流的基本功能,如状态标志(e.g.
, good()
, fail()
, eof()
)、格式化选项和缓冲管理等。
位置:所有其他流类(如 std::istream,std::ostream, std::iostream)都直接或间接地继承自 std::ios。
2 std::istream 类
作用:std::istream
继承自 std::ios
,专门用于输入操作(读取数据)。
派生类:std::ifstream
(输入文件流)继承自 std::istream
,用于从文件中读取数据。
3 std::ostream 类
作用:std::ostream
继承自 std::ios
,专门用于输出操作(写入数据)。
派生类:std::ofstream
(输出文件流)继承自 std::ostream
,用于向文件中写入数据。
4 std::iostream 类
作用:std::iostream
同时继承自 std::istream
和 std::ostream
,用于同时进行输入和输出操作。
派生类:std::fstream
(文件流)继承自 std::iostream
,用于同时读取和写入文件。