输入输出运算符必须是非成员函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了输入输出运算符必须是非成员函数相关的知识,希望对你有一定的参考价值。

如果是成员函数的话,左侧的运算对象将会是我们的类的一个对象

sale_data data;

data<<cout;

cout << data 这种情况是cout在调用operator<<;而不是data在调用operator<< ;
如果你要把operator<<设为成员函数就只能用 data << cout 这种形式。

以上是关于输入输出运算符必须是非成员函数的主要内容,如果未能解决你的问题,请参考以下文章

运算符重载

C++学习45 流成员函数put输出单个字符 cin输入流详解 get()函数读入一个字符

重载运算符作为成员函数还是非成员函数

重载运算与类型转换——基本概念,输入和输出运算符,算术和关系运算符,赋值运算符,下标运算符,递增和递减运算符,成员访问运算符

C++类和对象下

将 lambda 参数完美转发给成员函数,其中成员函数是非类型模板形参