C++重载流插入运算符与流提取运算符

1.1 "<<" 流插入运算符,">>"流提取运算符。
1.2对“<<”和“>>”重载的函数的形式如下:
istream & operator >> (istream &,自定义的类&);
ostream & operator << (ostream &,自定义的类&);
即重载运算符的第一个参数和函数类型必须是istream或者ostream类型的,第二个参数是要操作的类。
这是为了能连续的输入和输出。
1.3只能重载"<<"和">>"作为友元函数或者普通函数,而不能将他们定义为成员函数。(因为<<和>>的左边必须是ostream或者istream而成员函数不可以了)
1.4代码参考
#include <iostream>
using namespace std;
class Complex
{
public:
    Complex(){real=0;image=0;}
    Complex(int r,int i):real(r),image(i){}
    Complex operator + (Complex &c);
    Complex(int r){real=r;image=0;}
    friend ostream& operator << (ostream& output,Complex& c);
    friend istream& operator >> (istream& input,Complex& i);
private:
    int image,real;
};
Complex Complex::operator +(Complex &c)
{
    return Complex(c.real+real,c.image+image);
}
ostream& operator << (ostream& output,Complex& c)
{
    output << "(" << c.real << "+" << c.image << "i" << ")" << endl;
    return output;
}
istream& operator >> (istream& input,Complex& i)
{
    cout << "please input real and image" ;
    input >> i.real >> i.image;
    return input;
}
int main()
{
    Complex c1,c2;
    Complex c3(1);
    cin >> c1 >> c2;
    cout << c1+c2 << endl;
    cout << c3 << endl;
    return 0;
}

C++重载流插入运算符与流提取运算符相关推荐

  1. C 流插入和流提取运算符的重载

    <<运算符的重载 C 在输出内容时,最常用的方式: std::cout << 1 <<"hello"; 提出问题: 那这条语句为什么能成立呢? ...

  2. C++学习笔记(11) 重载流插入运算符和流提取运算符,以及自动类型转换

    1. 重载<< 和>>运算符 <<和<<运算符可以被重载用于输入输出操作,在上一节中,我们对Rational对象进行输出时定义了toString()类成 ...

  3. 插入迭代器、流迭代器、反向迭代器、移动迭代器

    文章目录 前言 插入迭代器 inserter front_inserter back_inserter iostream迭代器 istream_iterator 读取输入流 istream_itera ...

  4. H264码流插入自定义数据(SEI字段)

    文章目录 前言 一.H264码流结构 1. 文字说明 2. 码流格式图解 二.自定义数据封装以及H264码流插入 1.将自定义数据封装成SEI字段通用格式即可插入H264码流中 2.编程逻辑 三.附上 ...

  5. java文件流插入数据库_使用Java流查询数据库

    java文件流插入数据库 在本文中,您将学习如何编写纯Java应用程序,这些应用程序能够处理现有数据库中的数据,而无需编写一行SQL(或类似的语言,例如HQL),而无需花费数小时将所有内容放在一起. ...

  6. pcap文件提取后的dataframe,切分前向流与后向流

    使用pandas,提取pcap文件得到的dataframe后,切分为前向流与后向流 import pandas as pddef split_forward_backward_flow(datafra ...

  7. python解析pcap提取{src ip,src port,protocol,dst ip, dst port}五元组,再提取网络流(包括前向流与后向流)

    通过解析pcap文件,按照{src ip, src port, transport protocol , dst ip, dst port} 拆分流,并提取出前向流(Forward)与后向流(Back ...

  8. Mendix敏捷开发零基础学习《二》-进阶(Microflow微流、表单验证、运算符、条件判断、数据嵌套、触发器、Debug问题跟踪、版本管理)

    目录结构 Mendix敏捷开发零基础学习<二> 一.Microflow微流 1.引言 2.常见的功能 3.微流可以做那些事情? 3.1 举例1(用微流打开新增页面) 3.2 举例2(用微流 ...

  9. 重载运算与类型转换——基本概念,输入和输出运算符,算术和关系运算符,赋值运算符,下标运算符,递增和递减运算符,成员访问运算符...

    一.基本概念 重载的运算符时具有特殊名字的函数:它们的名字由关键字operator和其后要定义的运算符号共同组成.和其他函数一样,重载的运算符也包含返回类型.参数列表以及函数体. 重载运算符函数的参数 ...

最新文章

  1. select 和 order by
  2. Eclipse导入Maven项目出现错误:Unsupported IClasspathEntry kind=4
  3. MATLAB中常用的产生随机数的几种函数
  4. BZOJ 2049: [Sdoi2008]Cave 洞穴勘测
  5. 数学建模亚太赛优秀论文_2019亚太地区大学生数学建模竞赛志愿者等级评定结果公布!...
  6. c语言中参数的传递方式是,C语言函数的参数及传递方式
  7. 分级时间轮优化普通时间轮定时器
  8. 这『六本』电子书能帮助你成为优秀的程序员(含下载地址)
  9. 第十六篇:关于Unity开发WebGL遇到的坑
  10. django jwt token 令牌
  11. mysql 5.6 msvcr100_mysql 5.6.46 安装到winserver2012(x64) 遇到 MSVCR100.dll is missing
  12. 如何写一篇可实施的技术方案?
  13. html布局直接填充,css实现自动填充布局
  14. 计算机键盘优点,机械键盘有哪些优点
  15. 投资者选择量化基金的四个指标
  16. Linux-线程安全
  17. 给我们这些浮躁的程序员
  18. s15.一键安装java脚本
  19. 股票交易接口api适合什么人群?
  20. Alink漫谈(八) : 二分类评估 AUC、K-S、PRC、Precision、Recall、LiftChart 如何实现

热门文章

  1. 内网无纸化会议/智慧教室实时同屏RTSP组播技术方案思考
  2. Linux下安装-配置-mysql-5.7.13
  3. IP 基础知识“全家桶”,45 张图一套带走!
  4. c语言打印字符的函数参数,C语言格式化打印函数vsnprintf()的实现
  5. java同样作用的方法_Java的接口用途和方法
  6. java 复制字段_java - 在构造函数中按字段复制字段 - 我需要一个更简洁的形式 - SO中文参考 - www.soinside.com...
  7. Linux统一编程接口,restful接口设计规范总结
  8. 学php要先学css吗,学PHP是不是就必须学htmlcssjs
  9. android怎样判断插入数据是否成功_MySQL一个表的自增id用完了,背井大佬让我用这些姿势再往里插数据...
  10. linux远程计算,如何使用Linux应用服务器场的远程计算?