<C++学习笔记>:左移运算符的重载

240 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第15天,点击查看活动详情

1️⃣前言

今天的笔记内容是:

  • 左移运算符的重载

在类中,我们可以编写类的各种属性。

而左移运算符的重载,就是为了方便我们输出类的相关内容。


2️⃣左移运算符重载

先看下图:

image.png

我们无法输出类的对象,意味着我们需对左移运算符进行重载!

重载后的代码为:

image.png


4️⃣需注意的点

在左移运算符的重载中,需要注意的点有几个:

  1. 重载函数需写到全局作用域下,也就是说,重载左移运算符无法写到成员函数中。
  2. 函数的返回类型是:ostream&,而ostreamcout的数据类型,属于标准输出流
  3. 为什么返回的是ostream的引用:这是因为返回的out全局只有一个
  4. 第一个参数是ostream&,第二个参数是类的引用
  5. 如果运算符重载函数要输出的数据成员属于私有的,那么我们需要将重载函数定义为友元函数,才能访问类的私有成员

5️⃣写在最后

在今天的笔记里,讲到了左移运算符的重载。

C++里,我们对类的对象进行直接cout<<输出是不行的,因为编译器不理解这个操作。其没有与操作数匹配的<<运算符。因此我们需要重载左移运算符<<

需要注意的是,一般不会通过成员函数来重载左移运算符,这是因为,如果通过成员函数来重载左移运算符,那么cout就会在<<的左侧了。因此会使用全局函数来实现对左移运算符<<的重载;

好了,今天的笔记就到这里,欢迎大家到评论区一起讨论!