左移操作符重载
来源:互联网 发布:数控铣床编程四叶草 编辑:程序博客网 时间:2024/05/29 07:37
当要用到cout<<类时,编译器会报错,此时就需要程序员自己对左移操作符进行重载了:
左移操作符重载的实例:
class operatorcg{friend ostream& operator<< (ostream& output, operatorcg& oop);private:int a;int b;public:void SetValue(int a, int b){this->a = a;this->b = b;}};ostream& operator<< (ostream& output, operatorcg& oop){output << "oop.a=" << oop.a << " b=" << oop.b << endl;return output;}int main(void){operatorcg oop;oop.SetValue(10, 15);cout << oop;system("pause");return 0;}左移操作符重载:
void operator<< (ostream& output, operatorcg& oop){output << "oop.a=" << oop.a << " b=" << oop.b << endl;//return output;}这种重载方式无法链式输出,
只是用与cout << oop这种输出一个对象的情况,要是输出多个对象就必须对操作符重载函数进行相应的改变;
ostream& operator<< (ostream& output, operatorcg& oop){output << "oop.a=" << oop.a << " b=" << oop.b << endl;return output;}这与结论“函数返回值当左值必须要返回一个引用”有关
例如:cout<<oop1<<oop2<<endl;
如果用第一种则变形成cout<<oop1<<void<<endl;所以编译器会报错;
阅读全文
0 0
- 左移操作符重载
- 关于 QDebug 左移操作符重载
- C++程序学习--C++模板类重载左移操作符<<的细节
- c++操作符重载 类成员函数 类友员函数 左值 右值
- 左移操作
- 左移操作
- const成员函数重载-error C2678 二进制< 没有找到接受const类型的左操作数的运算符
- 四、流插入(右移)和流提取(左移)运算符重载
- c++重载操作符
- C++ 操作符重载
- 操作符重载浅析
- 操作符重载
- 10.8 操作符重载
- 操作符重载
- 操作符重载手册
- C#操作符重载
- 操作符重载手册
- 操作符重载手册
- Maven项目下update maven后Eclipse报错:java.lang.ClassNotFoundException- ContextLoaderL
- JAVA中进程、线程
- 【CUGBACM15级BC第30场 A】hdu 5174 Ferries Wheel
- 软件测试学习5-静态白盒测试
- 不安的思考——技术的价值何在
- 左移操作符重载
- Ubuntu 下vi编辑器上下左右键变为ABCD
- 使用webService调用手机号码归属地
- MySQL 备份-通过原始文件
- linux系统常见目录解释说明
- Android自定义对话框实现QQ退出界面
- 永远也记不住的Socket
- python爬虫系列之爬取百度文库(一)
- day04 -----深入浅出mysql-----javaio复习