C++ 重载I/O运算符
来源:互联网 发布:bilibili直播姬 mac 编辑:程序博客网 时间:2024/06/11 16:23
C++的I/O流库的一个重要特性就是能够支持新的数据类型的输入和输出。
用户可以通过对插入符(<<)和提取符(>>)进行重载来支持新的数据类型。
重载输出运算符 "<<"
在C++中,输出操作称为插入,"<<"称为插入运算符。当重载输出运算符"<<"用
于输出时,相当于创建一个插入符函数。格式如下:
friend ostream & operator << (ostream & stream, 类名 & 类名引用)
{
函数体;
return stream;
}
该插入符函数是以友元方式声明的。其中的第一个参数是ostream类对象的一个引用,
stream 必须是一个输出流。"类引用名"接收待输出的对象。该函数返回ostream的
一个引用stream。"函数体"中给出实现该插入符重载目的的代码。
重载输入运算符 ">>"
在C++中,">>"运算符称为提取运算符,对他进行重载的函数称为提取符函数。
格式如下:
friend istream & operator << (istream & stream, 类名 & 类名引用)
{
函数体;
return stream;
}
该提取符函数是以友元方式声明的,其中的第一个参数是istream类对象的一个引用,
stream 必须是一个输入流。"类引用名"接收输入对象的引用。该函数返回istream的
一个引用stream。"函数体"中给出提取符重载目的的代码。
/*mainstream.cpp*/#include <iostream>#include "stream.h"using namespace std;int main(){student S;cin >> S;cout << S;return 0;}
/*stream.cpp */#include "stream.h"istream & operator >> (istream & stream, student & s){cout << "Please the num: "; stream >> s.num;cout << "Plrase the name: "; stream >> s.name;cout << endl;}ostream & operator << (ostream & stream, student & s){cout << "学号:"; stream << s.num << endl;cout << "名字:"; stream << s.name << endl;cout << endl;}
/*stream.h */#ifndef STREAM_H_#define STREAM_H_#include <iostream>using namespace std;class student{public:student() {}friend istream & operator >> (istream & stream, student & s);friend ostream & operator << (ostream & stream, student & s);private:int num;char name[20];};#endif
0 0
- 重载I / O运算符
- C++ 重载I/O运算符
- 输入输出运算符重载( Overloading the I/O operators)
- C++-运算符重载
- [C++]重载运算符
- C#:运算符重载
- c++-++运算符重载
- C++:重载运算符
- 运算符重载(C++)
- [c++]运算符重载
- 【C++】运算符重载
- C++--------------------------------------------运算符重载
- C#:运算符重载
- C++:运算符重载
- C++:运算符重载
- C#:运算符重载
- [C++]运算符重载
- 【c++】运算符重载
- Hanlder SendMessage 如何发送字符串或消息
- qt学习之对个人画板的实现(1)
- 巩固爬虫和数据库使用技巧
- 数据库中视图的用处
- 2-1 开始学习<p>标签
- C++ 重载I/O运算符
- 向将就说“NO”
- 一个下载pdf的简单python爬虫
- 嗅探的介绍极其原理、作用
- linux系统学习:基础篇(系统介绍以及命令行的使用)快速入门linux系统
- Haskell 与 Functor
- Qualcomm_HexagonSDK初入门
- 项目实战①—高仿知乎日报(2)—>使用pullrefesh+Slidingmenu+自定义组件写主布局
- nyoj 60 谁获得了最高奖学金