类最好不要拥有fstream 成员:
因为文件对象的打开关闭等操作随运行时的各种环境变化而易出现不容易觉察的操作失败。
此时为测试带来了困难。
所以文件流对象最好随用随取。
例如如下一个对象的函数成员的函数体就比较可取,其中fstream对象outFile不是类的成员
fstream outFile;
outFile.open(fName, ios::binary | ios::app );
if(outFile.fail())
{
cout<<"can't open file !"<<endl;
return;
}
outFile.seekp(0,ios::end);
t.writeToFile(outFile);
outFile.close();
本文探讨了在类设计中避免直接将fstream作为成员变量的原因。指出由于文件操作的复杂性和不确定性,这可能会引入难以发现的错误,进而增加测试难度。推荐的方法是在需要时临时创建并使用fstream对象。
845

被折叠的 条评论
为什么被折叠?



