ofstream对象可以使用ostream类的方法,这使得文件输入/输出的格式与控制台输入/输出相同。使得能够将特性从一个类传递给另一个类的语言特性被称为继承,简单地说,ostream是基类(因为ofstream是建立在它的基础之上的),而ofstream是派生类,派生类继承了基类的方法,这意味着ofstream对象可以使用基类的特性,如格式化方法precision()和setf()。
继承的另一个特征是,基类引用可以指向派生类对象,而无需进行强制类型转换。这种特征的一个实际结果是,可以定义一个接受基类引用作为参数的函数,调用该函数时,可以将基类对象作为参数,也可以将派生类对象作为参数。例如,参数类型为ostream&的函数可以接受ostream对象(如count)或声明的ofstream对象作为参数。
#include<iostream>
#include<fstream>
#include<cstdlib>
void file_it(ostream& os, double fo, const double fe[], int n);
using namespace std;
const int LIMIT = 5;
int main()
{
ofstream fout;
const char* fn = "ep-data.txt";
fout.open(fn);
if (!fout.