`
guoyiqi
  • 浏览: 1010042 次
社区版块
存档分类
最新评论

文件流对象最好随时使用随时创建,不要成为类成员

 
阅读更多

类最好不要拥有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();

分享到:
评论

相关推荐

    2012年计算机二级VFP面向对象的程序设计学习教程:类的创建.pdf

    面向对象的程序设计是计算机科学中的一个重要概念,尤其是在Visual FoxPro (VFP)中,它提供了创建类和对象的能力,从而实现代码的复用和模块化。本教程主要讲解了如何在VFP中创建和管理类。 首先,类是对象的蓝图,...

    C#中动态声明与使用对象数组实例

    例如,通过使用访问修饰符(public, private, protected等)控制类成员的可见性,可以防止未授权的访问。另外,使用封装(encapsulation)原则,将数据隐藏在私有字段内并通过公共方法进行访问,可以确保数据安全。 ...

    CMarkUp类使用方法

    CMarkUp类是一个针对XML文件操作的高效MFC封装类,它简化了XML文档的创建、解析和修改过程。本文将深入介绍CMarkUp类的主要特性和使用方法。 首先,CMarkUp的核心是基于EDOM(Encapsulated Document Object Model)...

    用类的方式实现C++链表功能

    本教程将介绍如何使用类的方式来实现一个简单的C++链表,包括链表的创建、插入、删除、修改和查找操作。下面我们将详细探讨这些知识点。 首先,链表的核心是链表节点,通常我们定义一个结构体或类来表示节点,它...

    2023年java网络编程复习题考试题库.doc

    File类是处理文件对象的,非流类,但它提供了创建和操作文件的方法。 6. **Serializable接口**:用于标记一个类可以序列化,即将对象转换为字节流,以便存储或在网络上传输。Serializable接口没有定义任何方法或...

    C++ I/O Streams ppt

    2. 灵活性:可以随时创建输入文件供程序读取,或在方便时读取程序产生的输出文件,而不必在运行时完成所有读写操作。 3. 大量数据处理:对于大量数据,文件提供了一个高效且方便的存储和处理方式。 在C++中进行文件...

    北理网上作业_面向对象程序的设计说明.docx

    通过抽象,可以定义出一组具有相似特性的对象,并为这些对象创建一个共同的类。 - **封装**:封装是指将数据和操作数据的方法捆绑在一起,隐藏对象内部的具体实现细节,只暴露对外接口。这样可以保护数据不被外部...

    生成XML文件 并解析

    - **`CXMLDOMNode`对象**:这是MFC中表示XML节点的类,可以通过`CXMLDOMDocument`的成员函数获取或操作这些节点。 - **属性和属性值**:XML节点可以有属性,通过`GetAttributes`方法获取属性集合,再通过属性名称...

    《面向对象系统设计循序渐进》PDF版

    1. **对象和类**:首先会介绍对象和类的概念,对象是现实世界中的实体在程序中的映射,而类则是创建对象的模板,定义了对象的属性(数据成员)和行为(方法)。 2. **封装**:封装是面向对象的基石,它将数据和操作...

    java网络编程复习题(考试题库).pdf

    12. **创建文件对象**:在Java中,File类用于创建文件对象。所以选项A是正确的。 13. **判断文件类型**:要判断文件对象是否为目录,可以使用`isFile()`方法。所以选项C是正确的。 14. **不能直接创建对象的类**:...

    VC 创作可随时设置属性的窗口对话框.rar

    在VC++ 6.0开发环境中,创建一个可以随时设置属性的窗口对话框是一个常见的需求,这涉及到MFC(Microsoft Foundation Classes)库的使用。MFC是微软为Windows应用程序开发提供的一套C++类库,它封装了Windows API,...

    CAsyncSocket类的应用实例

    在本文中,我们将深入探讨如何使用MFC中的CAsyncSocket类来实现一个简单的聊天室程序。CAsyncSocket类是Microsoft Foundation Class (MFC) 库为Windows Sockets API(Winsock)提供的一种封装,它使得在C++环境中...

    实时流媒体网络编程.pdf

    - **代码示例**:使用JRTPLIB进行编程时,首先需要包含库中的头文件,然后创建RTP会话对象,并设置会话参数,如本地端口、远端地址等。接下来,可以使用库提供的API发送和接收RTP数据包。 - **调试与优化**:为了...

    C++在信息学竞赛中应用

    使用这些流对象,我们可以像处理标准输入输出一样处理文件,简化了文件操作。 3. **单行注释**:C++支持以`//`开始的单行注释,这使得代码注释更加灵活,可以快速为单行代码添加注释,而不必使用`/*...*/`的多行...

    CButtonST类-好用的类

    3. **创建CButtonST对象**:在对话框或视图类的成员变量中声明CButtonST对象,并在对话框或视图的构造函数中初始化它,指定ID、位置和大小。 4. **设置按钮属性**:通过CButtonST对象的成员函数可以设置按钮的各种...

    JAVA 快速查询手册

    - 类与对象:类是创建对象的模板,对象是类的实例。类包含属性(字段)和行为(方法) - 封装:通过访问修饰符(public、private、protected)控制成员的可见性 - 继承:子类继承父类的属性和方法,实现代码重用 ...

    (java se 代码)Bank Account Management System 银行账户管理子系统

    将下一个可用的id存放在文件中,每创建一个新对象的时候都会读取这个文件,获得新对象的id,并且修改文件中的id,使其加1后,再保存到文件中。 2、 修改Bank类中各个业务方法 分析: 要将账户信息全部保存到文件中,...

    visual C++使用手册

    - **类与对象**:理解类的定义、成员变量、成员函数,以及对象的创建与使用。 - **封装**:通过访问修饰符实现数据的隐藏,保护内部实现细节。 - **继承**:派生类从基类继承属性和行为,实现代码重用。 - **...

    visual sourcesafe使用手册

    《Visual SourceSafe 使用手册》是针对项目组和项目管理部成员设计的一份详细指南,旨在帮助用户理解和掌握软件配置管理工具Visual SourceSafe(VSS)的使用方法。VSS是一款由Microsoft开发的版本控制系统,它提供了...

Global site tag (gtag.js) - Google Analytics