C++学习记录-面向对象-运算符重载2-左移运算符重载
C++学习记录-面向对象-运算符重载2-左移运算符重载
一、
左移运算符重载,若写在类内作为成员函数,则调用时要 参数在前,cout在后,效果不行
因此,左移运算符重载应当作为全局函数
二、语法与示例
语法: 返回值类型 operator符号**(参数列表)** {方法}
示例:
1 | class chara { |
1 | chara sllh("神里绫华", "单手剑"); |
运行结果:
神里绫华
单手剑
D:\Work\C艹练习\练手\Project1\Debug\Project1.exe (进程 28680)已退出,代码为 0。
要在调试停止时自动关闭控制台,请启用“工具”->“选项”->“调试”->“调试停止时自动关闭控制台”。
按任意键关闭此窗口. . .
注意:
- 在本重载函数中,函数要求左边传入的参数是 cout,则在参数列表应写cout的类型接上对cout的引用。cout的类型可以 右键cout->转到定义 查看
- 本重载函数因为返回值类型写了void,所以无法在<<sllh后面接上<<endl;若要实现此功能应将返回值类型写为 ostream&(这个引用很关键,因为传入的cout也是引用)
1 | ostream& operator<<(ostream &cout, chara& p) |
1 | chara sllh("神里绫华", "单手剑"); |
运行结果:
神里绫华
单手剑
hello
D:\Work\C艹练习\练手\Project1\Debug\Project1.exe (进程 20508)已退出,代码为 0。
要在调试停止时自动关闭控制台,请启用“工具”->“选项”->“调试”->“调试停止时自动关闭控制台”。
按任意键关闭此窗口. . .
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 星辰微光的博客!





