14.2输入和输出运算符
来源:互联网 发布:智慧社区 源码 编辑:程序博客网 时间:2024/05/12 08:04
输入输出运算符必须是非成员函数
输入时的错误
- 当流含有错误类型的数据时读取操作可能失败。
- 当读取操作到达文件尾或者输入流的其他错误时也会失败。
#include <iostream>#include <string>using namespace std;class Sales_item{ friend ostream& operator<<(ostream& os, const Sales_item &item); friend istream& operator>>(istream& is, Sales_item &item);public: Sales_item(string &book, unsigned count, double price) : isbn(book), units_sold(count), revenue(count*price){} Sales_item() :units_sold(0), revenue(0.0){}private: string isbn; unsigned units_sold; double revenue;};ostream& operator<<(ostream& os, const Sales_item &item){ os << item.isbn << " " << item.units_sold << " " << item.revenue << " "; return os;}istream& operator>>(istream& is, Sales_item &item){ double price;//不需要初始化,因为我们将先读取数据到price,之后才使用它 is >> item.isbn >> item.units_sold >> price; if (is)//检查输入是否成功 item.revenue = item.units_sold*price; else item = Sales_item();//输入失败时对象被赋予默认的状态 return is;}int main(){ //Sales_item item(string("99-999-999"), 2, 50.00); //cout << item << endl; Sales_item item; cin >> item; cout << item; return 0;}
0 0
- 14.2输入和输出运算符
- 输入和输出运算符
- 输入运算符和输出运算符的重载
- 通过重载输入和输出运算符实现复数的输入和输出
- C++运算符重载——输入/输出运算符
- 运算符重载之——输入和输出操作符
- 运算符和输出函数
- 运算符和输出函数
- 第九周试验任务1--定义Time类中的<<和>>运算符的重载,实现输入和输出。
- 第九周 C++任务一。定义Complex类中的<<和>>运算符的重载,实现输入和输出
- 第9周任务1(Complex类中的<<和>>运算符重载实现时间的输入和输出)
- 第九周任务一(定义Complex类中的<<和>>运算符的重载,实现输入和输出)
- C++第九周【任务一】定义Complex类中的<<和>>运算符的重载,实现输入和输出
- Python学习笔记(7)-运算符与输入、输出
- C#的输入、输出与运算符、数据类型
- Java 输出输入、变量与数据类型、运算符
- python-输入、输出、类型转换、if、运算符、流程控制
- ACM——01——1004: 【入门】输入一个三位数,把个位和百位对调后输出 【运算符】
- 移动API设计与安全存储
- Ubuntu 16.04 安装phpmyadmin以及注意事项
- Geekband014第十四周笔记分享
- web项目在eclipse中出现红感叹号时候的解决方法
- 在MapReduce中连接Hbase数据库
- 14.2输入和输出运算符
- Active MQ的C#实现
- c++第七次作业
- 【2016.5.22】杭电女赛总结
- 使用hibernate出现no suitable Driver
- Ubuntu 16.04 使用useradd添加用户后没有家目录的解决方法
- Activiti 数据库表信息
- JavaScript DFT 离散傅里叶变换
- 运行WordCount程序