博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【ThinkingInC++】61、非成员运算符
阅读量:5897 次
发布时间:2019-06-19

本文共 1117 字,大约阅读时间需要 3 分钟。

非成员运算符

 

当操作者的左侧是不同的类时。运算符重载不可能是正确的类中。

IostreamOperatorOverloading.cpp

/*** 书本:【ThinkingInC++】* 功能:非成员运算符* 时间:2014年10月4日14:23:25* 作者:cutter_point*/ //当运算符的左側是不同的类的时候,就不能吧运算符重载到类里面了。#include"../require.h"#include
#include
#include
usingnamespace std; classIntArray{ enum {sz=5}; int i[sz];public: //吧数组i初始化,吧数组里面sz*sizeof(*i)个数初始化为0 IntArray() {memset(i, 0, sz*sizeof(*i)); } //重载[]操作符 //这个左側參数是这个类,也就是IntArray[x]代表者i[x]; int& operator [] (int x) { require(x >= 0 && x < sz,"IntArray::operator[] out of range"); return i[x]; } //两个友元函数 friend ostream& operator <<(ostream& os, const IntArray& ia); friend istream& operator >>(istream& is, IntArray& ia);}; ostream&operator << (ostream& os, const IntArray& ia){ for(int i=0 ; i
> (istream& is, IntArray& ia){ for(int i=0 ; i
>ia.i[i]; return is;} int main(){ stringstream input("47 34 56 92103"); //吧字符流和这个string绑定 IntArray I; input>>I; //吧绑定的字符串输入到I中。每次以空格隔开 I[4]=-1; cout<

请恭喜我的叔叔开怀大笑

你可能感兴趣的文章
Windows Server 笔记(六):Active Directory域服务:域控制器安装
查看>>
discuz X3登录流程分析
查看>>
javascript事件响应
查看>>
用jQuery实现Ajax
查看>>
上传图片预览
查看>>
vim编辑器
查看>>
程序设计的一些原理
查看>>
iTerm的安装以及配置
查看>>
《社交网站界面设计(原书第2版)》——1.7 反模式的重要性
查看>>
2016上半年DDoS攻击报告:DDoS攻击的规模和攻击频率都在不断攀升
查看>>
nagios监控远程windows服务器
查看>>
lagp,lacp详解
查看>>
LVS之DR模式原理与实践
查看>>
导出excel
查看>>
struts2+extjs
查看>>
php安装swoole扩展支持openssl和wss遇到的坑
查看>>
Apache2.4.33安装无systemctl/service status/state显示
查看>>
全栈数据之数据挖掘的33个知识点整理
查看>>
Docker的系统资源限制及验证
查看>>
在大公司呆5年,你就废了
查看>>