第17章 输输出流.pptVIP

  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文档。上传文档
查看更多
第17章 输输出流

重载输入运算符“”也称为提取运算符,用于用户自定义类型数据的输入。定义运算符“”重载函数的一般形式为: istream operator(istream stream,类名 对象名) { //操作代码 return stream; } 其中,第一个参数stream是对istream对象的引用,必须是输入流,它可以是其他合法的标识符,但必须与return后面的标识符相同。第二个参数是一个引用,前面的“”不能省略。 命名空间 命名空间是C++新增加的一种功能,在C语言中没有命名空间的概念。命名空间的主要作用是为了防止标识符名称冲突,将逻辑上相关的的标识符置于同一命名空间中。在C++中,不仅各种库函数和类使用命名空间来界定,用户也可以定义自己的命名空间。 命名空间是为解决C++中标识符的命名冲突而服务的。解决的办法就是将将逻辑上相关的标识符置于同一命名空间中。 定义命名空间 C++中,有两种形式的命名空间:有名命名空间和无名(匿名)命名空间。这两种命名空间的定义格式分别如下。 有名命名空间: namespace 命名空间名 { 声明和定义序列 } 无名(匿名)命名空间: namespace { 声明和定义序列 } 使用命名空间 由于命名空间的定义中包含了许多成员的定义,那么在实际的程序设计中,如何来使用命名空间中的这些定义呢?标准C++给出了三种引用命名空间内成员的方法,分别是使用作用域运算符、using指令和using声明. 小结 本章主要介绍了C++的输入/输出流的相关内容。首先由C语言中的输入/输出函数scanf()和printf()的缺陷引出C++中的输入/输出流,接着详细讲解了C++的标准输入/输出流的相关概和使用,以及C++的输入/输出格式控制。此外,本章就输入/输出运算符“”和“”进行了重载,使其能够进行类对象的输入/输出。本章最后对命名空间的相关概念和使用进行了讲述。 习题 【题目248】分析下列程序的输出结果。 #includeiostream #includefstream.h #includestrstream.h const int N=80; int main() { char buf[N]; ostrstream out1(buf,sizeof(buf)); int a=50; for(int I=0;I6;I++,a+=10) out1”a=”a”,”; out1\ 0 cout”Buf:”bufendl; double PI=3.1415926; out1.setf(ios::fixed|ios::showpoint); out1.seekp(0); out1”the value of ip=”PI\ 0 coutbufendl; char *pstr=out1.str(); coutpstrendl; } 【分析】该试题主要考查输出流的实现。上述程序段定义了输出流对象out1,并通过循环语句将变量a中的值输出,同时调用输出流的格式控制函数setf和seekp函数对输出格式进行控制,并输出一个浮点型变量的值。根据循环语句和输出格式,其输出结果如下: Buf:a=50;a=60;a=70;a=80;a=90;a=100; The value of pi is 3 The value of pi is 3【题目249】 cin是( )的一个对象,处理标准输入。cout、cerr和clog是( )的对象,cout处理标准输出,cerr和clog都处理标准出错信息,只是( )输出不带缓冲,( )输出带缓冲。 A.istream B.ostream C.cerr D.clog 【分析】该试题主要考查输入输出流的一些对象。根据前面学习的内容,读者知道输入流cin是istream类流的对象,而cout、cerr和clog等3个都是ostream类的对象。其中,cout处理标准输出,cerr和clog都处理标准出错信息,其区别在于前者是非缓冲输出,后者为带缓冲输出。因此,根据如上原则,该试题的正确选项应为ABCD。 【题目250】分析下列程序的输出结果: #includeiostream using namespace std; int main() { char buf[]=” 12345” int I,j; istrstream s1(buf); s1I; istrstream s2(buf,3); s2j; coutI+jendl; } 【分析】该试题主要考查输入流类的问题。上述程序中定义了字符数组并为其赋初值12345,同时创建了输入

文档评论(0)

l215322 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档