<分析>:
(1)IO类之间的继承关系图如下:
(2)IO类型有三个独立的头文件,iostream头文件定义了控制窗口的类型,fstream头文件定义了读写已命名文件的类型,sstream头文件定义的类型则用于读写存储在内存中的string对象;
(3)对IO对象使用继承有个重要的含义:如果函数有基类类型的引用形参时,可以给函数传递其派生类型的对象;
(4)为了支持国际字符wchar_t类型的读写,在每个IO类前面加上w与读写char类型的IO类型分开来,于是就变成wiostream,wfstream,wstringstream等类来读取wchar_t类型;
(5)标准库类型的对象不容许进行复制或者赋值操作,所以不能存储容器中,函数的形参和返回类型也不能为流类型,如果需要传递或者返回IO对象,必须传递或者返回该对象的指针或引用,因为读写要改变io的状态,所以引用或者指针必须为非const的。
(6)fstream类型继承了iostream类型,另外还定义了两个新操作--open和close,以及形参为要打开的文件名的构造函数,该构造函数的形参为c风格的字符串,所以当文件名是string对象时,需要用c_str成员函数获取c风格字符串,例如: