《C++ Primer 第5版》-14.2输入和输出运算符-康奈尔笔记
2022/1/18 22:04:05
本文主要是介绍《C++ Primer 第5版》-14.2输入和输出运算符-康奈尔笔记,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
14.2.1重载输出运算符
| Ostream& operator<<(ostream&os, const Sales_data &item); Sales_data data; Data<<cout;// 若是成员 |
1. 输入和输出运算符 1)Io 库定义了用其读写内置类型的版本,而类需要自定义其对象的新版本 2. 重载输出运算符<< 1)第一个形参是非常量ostream对象的引用(因为会改变其状态,无法直接复制一个ostream) 2)第二个形参是一个常量的引用,打印的类型,引用是避免复制实参,打印不会改变对象内容 3. 输出运算符尽量减少格式化操作 1)让用户控制endl这些 4. 输入输出运算符必须是非成员函数 Data<<cout;//是不符合重载运算符的规则的,虽然可以,但是不好,所以需要为非成员函数,让第一个参数是cout,第二个参数是对象。 1)因为左侧运算对象是我们类的第一个对象 2)假设输入输出是某个类的成员,则他们也必须是istream或ostream的成员。 所以,我们希望为类自定义IO运算符,需要定义为非成员函数。 |
14.2.2重载输入运算符
| Istream&operator>>(istream&is,Sales_data &item); |
1. 重载输入运算符>> 1)通常第一个形参是运算符要读取的流的引用 2)第二个形参是要读入到的非常量对象的引用,不是const 2. Sales_data的输入运算符 1)Note: 输入运算符可能有错,而输出运算符没有 3. 输入时的错误 1)类型不匹配 2)当达到文件末尾或遇到其它错误 3)可以等读取完一次性检查 Note:读取发生错误时,输入运算符应该负责从错误中恢复 4. 标示错误 1)Failbit,eofbit,badbit |
这篇关于《C++ Primer 第5版》-14.2输入和输出运算符-康奈尔笔记的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26MATLAB 中 A(7)=[];什么意思?-icode9专业技术文章分享
- 2024-11-26UniApp 中如何实现使用输入法时保持页面列表不动的效果?-icode9专业技术文章分享
- 2024-11-26在 UniApp 中怎么实现输入法弹出时禁止页面向上滚动?-icode9专业技术文章分享
- 2024-11-26WebSocket是什么,怎么使用?-icode9专业技术文章分享
- 2024-11-26页面有多个ref 要动态传入怎么实现?-icode9专业技术文章分享
- 2024-11-26在 UniApp 中实现一个底部输入框的常见方法有哪些?-icode9专业技术文章分享
- 2024-11-26RocketMQ入门指南:搭建与使用全流程详解
- 2024-11-26RocketMQ入门教程:轻松搭建与使用指南
- 2024-11-26手写RocketMQ:从入门到实践的简单教程
- 2024-11-25【机器学习(二)】分类和回归任务-决策树(Decision Tree,DT)算法-Sentosa_DSML社区版