友元函数和运算符重载

友元:非类成员函数可以访问类的非公有成员(protected,private)
工程作用:提高程序运行效率(省去了函数调用返回等一系列时间)
友元的种类分为:友元函数,友元类(不传递,不继承,单向的),友元成员函数
类前置声明必须将类的成员函数类外实现(A放在Test上面)
含有友元成员函数的类必须在代码最前
运算符重载实际上就是函数的重载
运算符重载的特点:直观自然,提高程序的可读性
运算符重载规则:
1.特殊运算符:如果没有重载,且没有移动拷贝构造函数,系统会默认重载;必须以成员函数重载
2.注意:默认生成的重载是浅拷贝,两个S1都指向了同一个空间
深拷贝:
3.移动赋值运算符重载,解决的是临时对象拷贝开销问题
拷贝构造函数 ll My string ms3 (ms2)
运算符的类型:
1.【】:是双目运算符,但是必须以成员函数重载
2.+=:利用+实现+=
3.!:单目运算符,只能用成员函数重载
4.类型转换运算符:static-cast,istream(cin),ostream(cout)对象
5.流运算符:<<(输出流运算符)>>(输入流运算符)
6.流运算符重载:必须是友元函数重载
输入流:<<
输出流:>>
单目运算符:成员
双目运算符:友元

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值