标准C++04

一、运算符重载C++中是运算符当作函数来看待,所以C++中的运算符可以重载,这样可以让类对象支持运算符,对类对象进行定制化操作。例如:string类就支持很多运算符来代替标准库中的函数。= strcpy+= strlen==|!=|>=|<= strcmp二、双目录运算符重载假如:Test a,b; a+b操作可以调用两种函数Test的成员函数:a是触发者,b是参数Test operator+(cosnt Test& b) const{return a+b; //
摘要由CSDN通过智能技术生成

一、运算符重载
C++中是运算符当作函数来看待,所以C++中的运算符可以重载,这样可以让类对象支持运算符,对类对象进行定制化操作。
例如:string类就支持很多运算符来代替标准库中的函数。
= strcpy
+= strlen
==|!=|>=|<= strcmp

二、双目录运算符重载
假如:Test a,b; a+b操作可以调用两种函数
Test的成员函数:a是触发者,b是参数
Test operator+(cosnt Test& b) const
{
return a+b; // 返回临时对象
}

全局函数:a,b都是参数
Test operator+(const Test& a,const Test& b)
{
return a+b; // 返回临时对象
}

注意:如果成员运算符函数和全局函数运算符函数都实现,调用时可能会产生二义性错误,成员或全局实现一个即可。

友元函数:
在类外的函数想访问类的私有成员时,需要把函数声明类的友元函数,但友元函数只有朋友,只有访问权,没有实际的拥有权。

友元声明:
把函数的声明在类中写一份,然后在函数的声明前加friend关键字。
友元函数可以让运行符是全局函数,也可以保持类的封装性。

三、赋值类型的运算符
成员函数
Test& operator=(cosnt Test& b) // 隐藏的有

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值