- 1、本文档共21页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六章 流类与输入 / 输出 C++ 中除了可使用C中常见的scanf ( ) ,printf( ) 外,为了适 应OOP ,添加了用于对象I /O 的流类库 ξ6.1流的基本概念 终端 物理设备 磁盘驱动器 抽象为流的逻辑设备 打印机 …… 流 流类 流类库 ξ6.2 流库的基本结构 预定义流 物理设备 ξ6.3 流库中定义的 提取( )和 插入( ) 操作 1. ()提取, 为istream 类,重载各种基本类型 重载函数格式: istream istream::operator ( 参数类型 ) 表明:下列语句可以直接使用,是由于在istream中重载了 istream istream::operator ( int ) int a ; cin a ; ()插入为ostream 类重载了各种基本类型 ostream ostream::operator ( 参数类型 ) , 输入/出,仅适用于已定义的参数类型 若自定义的类对象,(nameclass)就不可直接施 于 cin nameclass 或cout nameclass。 必须对类重载:operator (…) 或 operator (…) 。且只能 重载为友元函数。 例(1)类矩形Rectangle,以友元函数重载 ,作类对象输出. #include iostream.h class Rectangle { private : int width ; int height ; public : Rectangle ( int w , int h ) { width = w ; height = h ; } friend ostream operator ( ostream stream , Rectangle ob ) ; friend istream operator ( istream stream, Rectangle ob ); } ; ostream operator ( ostream stream , Rectangle ob ) { stream “宽:” ob.width endl ; stream “高:” ob.height endl ; return stream ; } istream operator ( istream stream, Rectangle ob ) //返回类型 不变的第一参数 变化的第二参数,必须为对象引用 { cout “请输入矩形的宽:” ; stream ob.width ; cout “请输入矩形的高:” ; stream ob.height ; return stream ; } void main ( ) { Rectangle ob ( 10, 20 ) ; cout ob ; // operator (cout, ob )实参调用 cin ob ; // operator ( cin, ob ) 实参调用 cout ob ; } 分析可知: (1) , 只能重载为类的友元函数 (2)对于输出 , operator ( ) 返回类型是ostream类引用, 以便在一条cout语句中可作多个对象的输出。 (3)对于输出 , 第一参数必须为对象ostream引用, 否则,若是 传值方式,由于函数返回的是局部对象参数的引用,故出错。 (4)对于输出 ,为提高效率,第二参数可用引用 (5)operator ( )
文档评论(0)