C++语法之操作符重载函数

下面简单介绍下C++中的操作符重载函数:

一、操作符分为:单目操作符 ~(非)  -(取负)

                  双目操作符 / = * - + && ||  =+ 等


二、单目操作符重载函数形式:

1.成员函数形式: const 类名 operator 操作符(void){函数体}
2.全局函数形式: friend const 类名 operator 操作符 (类名 &对象名){函数体}}  
注:因全局函数无法访问类中private部分 所以在前面 加上friend。
单目操作符的对象可以使左值,也可以是右值,但是结果一定是右值,所以得在函数前加 const 。 


三、双目操作符的重载函数形式:

1.成员函数形式:类名 operator 操作符(类名 & 对象名){函数体}
2.全局函数形式:类名 operator 操作符(类名 & 对象名,类名 & 对象名){函数体}
注: ①双目操作符的对象既可以是左值 又可以是右值。返回的结果是右值 所以得在函数前面加 const并不加引用& 。

    ②在前面加上引用符号如   类名 & operator 操作符(类名 & 对象名){函数体} 表示返回的是对象本身,不加的话返回的是一个临时

③变量(右值) 双目操作符的参数表里可以都加 const 表示常引用,函数体前面也可加const表示常函数,可以调用常对象。

④具体每个位置加不加const 和& 看使用情况,加const表示他修饰的函数、对象、变量不能改变。加& 就不会创建新的变量来操作,而是直接引 用。
⑤另外自增自减 前++ 后++的区别:
前++ 或 --和上面单目操作符一致。后++ 或--需在参数表里增加一个哑元参数int如:const 类名 operator --(int){函数体}
 
⑥插入和提取操作符,只能使用全局函数
        <<操作符
friend ostream &operator << (ostream & out,A &a){}
>>操作符

friend istream &operator >> (istream & in,A &a){}

以下操作符不能重载:"::" "." "sizeof"  "typedef"

  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值