Por que preciso incluir os cabeçalhos iostream e fstream para abrir um arquivo

#include <iostream>
#include <fstream>
using namespace std;

int main () {
  ofstream myfile;
  myfile.open ("test.txt");
  return 0;
}

fstream é derivado do iostream, por que devemos incluir ambos no código acima?

Eu removi o fstream, no entanto, há um erro com o ofstream. Minha pergunta é ofstream é derivada do ostream, por que o fstream é necessário para compilá-lo?

questionAnswers(3)

yourAnswerToTheQuestion