`

c++ 操作符重载 io操作符重载

    博客分类:
  • c++
阅读更多
1.io操作符的重载函数必须为非成员函数,否则左操作数最能是该类类型的对象:

Shop_item item;
item << cout;


2.io操作符通常对非共用数据进行读写,因此,通常将io操作符设为友员。
class Shop_item {
    friend std::istream& operator>>(std::istream&, Shop_item&);
    friend std::ostream& operator<<(std::ostream&, Shop_item&);
public:
    Shop_item&  operator+=(const Shop_item&);
}


在这个类中第三,四行为两个非成员操作符,第五行为一个成员操作符。
可以看到输入输出操作符为非成员操作符,并且在Shop_item这个类中输入输出操作符为友员。
分享到:
评论

相关推荐

    黄邦勇帅C++专题讲解

    介绍:本文辑是对C++中的部分难点专题进行分章的专门讲解,不是一套完整的教材,但可以做为学习C++的参考,这些专题本人都对C++中难于理解的难点作了重点讲解,并举了实际例子,以及一些容易理解错误的...C++操作符重载专题

    双向链表的C++实现

    基础数据结构双向链表的C++描述版。实现了双向链表的基本功能。包括拷贝构造函数和IO操作符重载、赋值操作符重载

    C++ Primer第四版【中文高清扫描版】.pdf

    5.3.2 将移位操作符用于IO 137 5.4 赋值操作符 137 5.4.1 赋值操作的右结合性 138 5.4.2 赋值操作具有低优先级 138 5.4.3 复合赋值操作符 139 5.5 自增和自减操作符 140 5.6 箭头操作符 142 5.7 条件操作符 143 5.8 ...

    非常经典的c++ primer视频教程6-10

    5.3.2 将移位操作符用于IO 5.4 赋值操作符 5.4.1 赋值操作的右结合性 5.4.2 赋值操作具有低优先级 5.4.3 复合赋值操作符 5.5 自增和自减操作符 5.6 箭头操作符 5.7 条件操作符 5.8 sizeof操作符 5.9 逗号...

    C++ primer 第4版 原书+习题解答+源码 清晰pdf

     第14章 重载操作符与转换  第四部分 面向对象编程与泛型编程  第15章 面向对象编程  第16章 模板与泛型编程  第五部分 高级主题  第17章 用于大型程序的工具  第18章 特殊工具与技术  附录 ...

    C++Primer中文版(第4版).part4

     第14章 重载操作符与转换  第四部分 面向对象编程与泛型编程  第15章 面向对象编程  第16章 模板与泛型编程  第五部分 高级主题  第17章 用于大型程序的工具  第18章 特殊工具与技术  附录 标准库

    C++Primer视频(初级)下载地址

    第5章关系操作符和逻辑操作符 39.第5章位操作符 40.第5章赋值操作符 41.第5章自增和自减操作符 42.第5章箭头操作符 43.第5章条件操作符和逗号操作符 44.第5章new和delete表达式 45.第5章显式转换 46...

    C++primer 课后题答案

    C++primer 课后题答案 目录 第一章 快速入门 2 ...第十四章 重载操作符与转换 102 第十五章 面向对象编程 116 第十六章 部分选做习题 133 第十七章 用于大型程序的工具 138 第十八章 特殊工具与技术 138

    Visual C++范例大全(第一章)

    实例003——操作符重载实现编译多态(复数的加法运算) 实例004——使用函数模板实现不同数据类型的极值函数 实例005——使用C++实现格式化数据的IO 实例006——实现数字金额的中文大写转换 实例007——将十...

    《Visual C++ 范例大全》随书光盘 第一章

    实例003——操作符重载实现编译多态(复数的加法运算) 实例004——使用函数模板实现不同数据类型的极值函数 实例005——使用C++实现格式化数据的IO 实例006——实现数字金额的中文大写转换 实例007——将十...

    VC++开发400实例

    实例003——操作符重载实现编译多态(复数的加法运算) 实例004——使用函数模板实现不同数据类型的极值函数 实例005——使用C++实现格式化数据的IO 实例006——实现数字金额的中文大写转换 实例007——将十...

    C++ Primer中文版(第5版)李普曼 等著 pdf 1/3

     第14章 操作重载与类型转换 489  14.1 基本概念 490  14.2 输入和输出运算符 494  14.2.1 重载输出运算符  14.2.2 重载输入运算符&gt;&gt; 495  14.3 算术和关系运算符 497  14.3.1 相等运算符 497  14.3.2 关系...

    C++Primer(第5版 )中文版(美)李普曼等著.part2.rar

     第14章 操作重载与类型转换 489  14.1 基本概念 490  14.2 输入和输出运算符 494  14.2.1 重载输出运算符  14.2.2 重载输入运算符&gt;&gt; 495  14.3 算术和关系运算符 497  14.3.1 相等运算符 497  14.3.2 关系...

    77G 22套C语言 C++ 数据结构 程序设计视频课程合集 C丨C++相关学习视频全套视频教程

    VC++ MFC 经典教程 - 基础篇 1.CP_YourFirstWindowsProgram.mp4 10.MFC_GDI_画直线和曲线.mp4 11.MFC_GDI_画椭圆_多边形及其他形状.mp4 ...重载赋值操作符_3.mp4 46.自动类型转换.mp4 47.动态创建对象...

    C++ Primer笔记

    基本语法 标准库string类型 标准库vector类型 数组和指针 异常机制 函数 标准IO库 容器和算法 关联容器 泛型算法 类和数据抽象 复制控制 ...重载操作符与转换 面向对象编程 模版与泛型编程

    传智播客扫地僧视频讲义源码

    15_友元函数实现左移右移操作符重载(函数返回值当左值需返回引用)_传智扫地僧 16_友元函数实现操作符重载知识总结 17_重载等号操作符_传智扫地僧 18_数组类小案例_操作符重载需求 19_数组类小案例_重载[]_传智扫地...

Global site tag (gtag.js) - Google Analytics