《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-09-28pyqt 怎么打包整个项目-icode9专业技术文章分享
- 2024-09-28laravel Commands 创建带有参数的 Artisan 命令的步骤和示例-icode9专业技术文章分享
- 2024-09-28antd怎么实现渲染tiff图片-icode9专业技术文章分享
- 2024-09-28英文半角中划线和中文全角的中划线有什么区别-icode9专业技术文章分享
- 2024-09-28nvm npm 和node 他们之间有什么关系-icode9专业技术文章分享
- 2024-09-28Node Version Manager (nvm)使用教程-icode9专业技术文章分享
- 2024-09-28nvm命令太慢,是什么原因-icode9专业技术文章分享
- 2024-09-28Kotlin 如何增加、删除和修改 MutableStateFlow 中的值。-icode9专业技术文章分享
- 2024-09-28Kotlin的stateFlow.update 写法介绍-icode9专业技术文章分享
- 2024-09-28kotlin 怎么获取当前时间格式-icode9专业技术文章分享