C++面向对象04【运算符重载】

本文详细介绍了C++中的运算符重载,包括赋值运算符'='的重载、可变长数组类的实现、流插入/提取运算符的重载、类型转换运算符的重载以及自增、自减运算符的重载。重点讨论了运算符重载的目的、形式和注意事项,以及在不同场景下如何选择合适的重载方式。
摘要由CSDN通过智能技术生成

摘要:1.运算符重载
2.赋值运算符‘=’重载
3.可变长数组类的实现
4.流插入/提取运算符的重载
5.重载类型转换运算符
6.自增,自减运算符的重载
7.运算符重载注意事项

1.运算符重载
在C++中,直接将±用于复数对象是不允许的

含义:对已有的运算符(C++中预定义的)赋予多重的含义,使同一运算符作用于不同类型的数据时导致不同类型的行为
目的:扩展C++中提供的运算符的适用范围,使之能作用于对象
实质:函数重载(可重载为普通函数,也可为成员函数)
把含运算符的表达式转换成对运算符函数的调用
运算符被多次重载时,根据实参类型决定调用哪个运算符函数

形式:返回值类型 operator 运算符(形参表)
{
……
}

重载为普通(全局)函数时,参数个数为运算符目数
(参加运算的运算数的个数)

重载为成员函数时,参数个数为运算符目数减一
例:operator+是普通函数(两个参数),operator-是成员函数(一个参数)
c=a+b;//等价于c=operator+(a,b)
c=a-b;//等价于c=a.operator-(b)

假设operator+是成员函数,c=c+5相当于c=c.operator+(5),但c=5+c会编译出错,怎么办呢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值