C++语言程序设计 教学课件 尹季昆 主编 第六章 C++的流类库.pdfVIP

C++语言程序设计 教学课件 尹季昆 主编 第六章 C++的流类库.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章C++的I/O流类库 知识点 C++为什么要建立自己的输入输出系统 输出流 输入流 格式控制 难点 格式控制 要求 掌握: 输出流 输入流  了解: 格式控制 6.1 C++为什么要建立自己的输 入输出系统  C语言的输入输出系统是一个使用灵活、 功能强大的系统,那么,为什么C++还要建立 自己的输入输出系统呢?这是因为在C++ 中需 要定义众多的用户自定义类型,面向对象方 法的数据封装性就是通过用户所定义的类类 型来体现的,而继承性和多态性是通过用户 定义的类对象的操作来体现的。  但C语言的输入输出系统不支持用户 自定义的对象。因而C++必须建立一个可 扩展的输入输出系统,可以通过它解决 用户自定义类型的输入输出操作。 6.2 输入输出流 C++语言提供了输入输出流机制,流简单 方便,具有完整性,有效性和灵活性等 特点。 流是从源(source,或者产生者)到失 (sink,或者消费者)的数据流的抽象引 用。从源输入字符称为提取 (extracting );把字符输出称为插入 (inserting )。 流操作通过iostrean类库中提供的流类来 完成,它们的定义在头文件iostrean.h 中, 任何使用流的程序必须包含该头文件。 C++标准定义了多个与流相关的类,不同 编译器实现对类的层次结构可能不尽相 同。大部分类在程序中不会直接使用。 6.3 输出流  流的输出用插入运算符实现,其左操作数为 输出流类Ostream 的对象。Ostream 已经定义了 对C++ 内部数据类型的输出方法。  在前面章节的例子中,遇到的cout是系统预定 义的标准输出流对象,它对应于C语言中的 stdout 。另外,C++还定义了标准出错流cerr , 对应C语言中的stderr,用于在标准出错设备上 输出。cerr与cout可以在标准输出设备(通常为 显示器)上输出。请看下面的例子: # include iostream.h void main ( )  { int i = 5; cout “Hello !\n”; cout i; } 该程序在标准输出设备上输出字符串常 量“Hello! \n ?”和整型变量i ,如果使 用C语言的输入输出库函数,输出语句可 以改为: printf (Hello !\n ); printf (“%d”,i ); 读者可能会注意到,在使用cout流输出整 型变量i时,并没有指定输出格式,这里 实际上是C++语言中的重载机制在起作用。 编译器根据右操作数的数据类型来选择 定义的输出方式。这也正是使用流的一 个优点,假如程序中有100个地方需要输 出变量i ,而有一天你想将变量i改为浮点 类型的数据,那么如果使用C语言的输入 输出函数库,你必须找到这100个位置并 改变输出的格式;而使用流操作只需改 变变量定义后,重新编译就可以了。 插入运算表达式的值仍然为输出流对象, 上面例子中的两行输出语句可以连写为: cout“Hello !\n” i; 插入运算符可以重载,由用户定义如何 输出自定义的类对象。在重载插入运算 符时应将其重载为类的友元,而不是成 员。对于任何给定的用户定义类型T ,定 义一个operator函数用于输出T类型的 对象。函数原型为: osteam operator (ostream , T ) ;  如果要访问类对象的私有部分,应在类的声明 中将其声明为该类的友元函数。下面是对一个 Point类重载插入运算符的例子。  // 类声明  #include iostream.h  class Point{  int x,y;  public:  Point (int x,int y)  {Point :: x = x; Point :: y = y;}  Point

您可能关注的文档

文档评论(0)

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档