20、C++运算符重载之输入输出运算符的重载
来源:互联网 发布:sql截掉字符串 编辑:程序博客网 时间:2024/06/09 17:53
C++运算符重载之输入输出运算符的重载
系统对于自定义类型的输入输出,采用重载后的运算符 << >>来实现。
1、重载插入运算符(也称输出运算符) <<
一般格式:
ostream & operator <<(ostream &out,自定义类型名 &形参名)
{
out<<.....;
return out;
}
2、重载提取运算符(也称输入运算符) >>
一般格式:但是返回类型不一定为这个类型。
istream & operator >>(istream &in,自定义类型名 &形参名)
{
in>>...
return in;
}
注:因为第一个参数是流对象,所以不能声明为其它类的成员函数,只能声明为友元
函数或普通函数。如果声明为该类的成员函数,那么第一个参数就不是流对象,而
是当前类的对象。
测试程序:
#include <iostream>using namespace std;class CComplex{private: double real; double imag;public: CComplex(double r,double i):real(r),imag(i) { } ~CComplex() { } //使用友元函数重载输入 输出运算符//这段代码也正确,返回类型不一定要是 ostream// friend void operator <<(ostream &out,CComplex &com)// {// out<<"real="<<com.real<<",imag="<<com.imag<<endl;// } friend ostream & operator <<(ostream &out,CComplex &com) { out<<"real="<<com.real<<",imag="<<com.imag<<endl; return out; } friend istream & operator >>(istream &in,CComplex &com) { cout<<"请输入实部(回车结束):"<<endl; in>>com.real; cout<<"请输入虚部(回车结束):"<<endl; in>>com.imag; return in; }};int main(){ CComplex com1(10,20); cin>>com1; cout<<com1; return 0;}
程序结果:
请输入实部(回车结束):
20
请输入虚部(回车结束):
50
real=20,imag=50
- 【C++】重载输入输出运算符
- 【C++】输入输出运算符的重载
- 输入输出运算符的重载
- 输入输出运算符重载
- 重载输入输出运算符
- 输入输出运算符重载
- 输入输出运算符重载
- 输入输出运算符重载
- 20、C++运算符重载之输入输出运算符的重载
- C++重载输入输出运算符
- C++输入输出运算符重载
- C++输入输出运算符重载
- C++输入输出运算符重载
- C++ 输入输出运算符重载
- C++ 输入输出运算符重载
- C++输入输出运算符重载
- 重载输入输出运算符引用的理解
- 重载之运算符重载
- 19、C++运算符重载之自定义类型转换
- Asp.Net 相关学习
- linux系统硬件配置查看方法
- android repo 切换分支
- GDI内存泄露小结
- 20、C++运算符重载之输入输出运算符的重载
- int main(int argc, char* argv[])
- C++的运算符重载
- careercup2.4
- 非模态对话框的创建与销毁
- 数学专项number_theory:UVa 10090
- win7 时间和时区修改不了的问题
- 21、C++类的继承
- java高级工程师-----JSON和XML的使用