Advertisement

C++左移运算符重载

阅读量:

在C++编程语言中,当我们进行输出操作时,通常采用如下格式:cout << xxx << endl。此时,<<运算符将涉及两个操作数,其中cout作为第一个操作数,而xxx则作为第二个操作数。因此,若我们将<<运算符的重载函数定义在类的内部,则第一个操作数将被替换为类的对象。

**instance.cout << xxx... **

这将导致与我们最初设想的格式存在差异。

因此,在编写<<重载函数时,应当将其定义为全局函数。

接下来,需将该全局函数声明为类的友元函数。

下面通过具体示例进行说明:

复制代码
 /**************************************************** * brief  : <<运算符重载 
    
  * author : shao 
    
  * date   :	2020-03-10
    
  * note   : 左移运算符不能写成类成员函数,
    
  *          因为这样会使得我们在调用的时候,
    
  *          格式和之前的cout不一样,那么就
    
  *          失去了重载的意义。
    
  *          所以,左移运算符我们写成全局友元函数。
    
  *          以后为了方便,我们会默认把成员变量

全部评论 (0)

还没有任何评论哟~