持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第15天,点击查看活动详情
1️⃣前言
今天的笔记内容是:
- 左移运算符的重载
在类中,我们可以编写类的各种属性。
而左移运算符的重载,就是为了方便我们输出类的相关内容。
2️⃣左移运算符重载
先看下图:
我们无法输出类的对象,意味着我们需对左移运算符进行重载!
重载后的代码为:
4️⃣需注意的点
在左移运算符的重载中,需要注意的点有几个:
- 重载函数需写到全局作用域下,也就是说,重载左移运算符无法写到成员函数中。
- 函数的返回类型是:
ostream&,而ostream是cout的数据类型,属于标准输出流 - 为什么返回的是
ostream的引用:这是因为返回的out全局只有一个 - 第一个参数是
ostream&,第二个参数是类的引用 - 如果运算符重载函数要输出的数据成员属于私有的,那么我们需要将重载函数定义为友元函数,才能访问类的私有成员。
5️⃣写在最后
在今天的笔记里,讲到了左移运算符的重载。
在C++里,我们对类的对象进行直接cout<<输出是不行的,因为编译器不理解这个操作。其没有与操作数匹配的<<运算符。因此我们需要重载左移运算符<<
需要注意的是,一般不会通过成员函数来重载左移运算符,这是因为,如果通过成员函数来重载左移运算符,那么cout就会在<<的左侧了。因此会使用全局函数来实现对左移运算符<<的重载;
好了,今天的笔记就到这里,欢迎大家到评论区一起讨论!