C++標準庫中檔案流類的繼承關係

hisun9發表於2024-10-17

繼承結構:

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::istreamstd::ostream,用於同時進行輸入和輸出操作。

派生類:std::fstream(檔案流)繼承自 std::iostream,用於同時讀取和寫入檔案。

相關文章