为自定义的类写<<(输出)操作符
2015-09-06 10:42
253 查看
#include <iostream> using namespace std; class item; ostream & operator <<(ostream & os, item& _item); class item { public: friend ostream& operator<< (ostream& os, item& _item); int i; item(int m) : i(m) {} void operator <<(ostream& os) { cout << this->i; // return os; } }; ostream & operator <<(ostream & os, item & _item) { os << "在操作符中:" << _item.i; return os; } int main() { item a(1), b(2); a = b; cout << a.i << endl; cout << &a << endl; cout << a << endl; return 0; }
注:重载操作符的原理大都有编译器来做了,比如会根据操作符左右两边的对象类型(从左到右的顺序),然后选择适当的函数,并进行转化。
相关文章推荐
- Opencv中的几种边缘检测算法
- mac 提示This client is too old to work with the working copy at...
- 鼠标放在文章标题上,下划线改变颜色
- linux tomcat创建文件夹乱码(显示:???)
- APP上架被拒解决方案
- 第5章 系统调用
- win7 静态IP配置不上,变成169.254.x.x
- ViewPager添加圆点
- Delphi反汇编内部字符串处理函数/过程不完全列表
- 当在myeclipse里发送邮件有错误时,不妨把环境都改成jdk的
- Linux之图形化shell------dialog
- 批量快速的导入导出Oracle的数据(spool缓冲池、java实现)
- 鼠标放在文章标题上,下划线改变颜色
- qml-------------实现一个简单的图片加载程序
- Android-getWritableDatabase()与getReadableDatabase()
- Thinking in java 之:静态数据的初始化及初始化顺序
- 大数据创业“独角兽”: 原来本·拉登是让大数据整死的
- 关系型数据库与非关系型数据库的区别?
- 动态库与静态库【linux】
- 结构型模式:代理模式(Proxy Pattern)