C++学习(3)--基础知识(3)--关于操作符的重载

来源:互联网 发布:彩票软件源码 编辑:程序博客网 时间:2024/05/15 00:08
只是看了点皮毛,自觉地要点有几条:
1.目的是使对对象的操作和对象之间的操作更自然,更方便.使其直接运用在表达式中。
2.如果不太会写,先写一个仿操作符的函数,比如sum(),然后将函数名改为operator+
3.return的值就是操作符两边的元素经过操作符作用后的结果.
以上几条针对“+”“-”“*”“/”“〉=”“〈=”“==”等运算符来说应该可以了。剩下的就是输入输出的运算符重载
(怎么重载为成员函数呢? )
将iostream运算符重载:
ostream& operator<<( ostream &os, const xxx &x)
{
os<<x.out();
return ;
}
4.从语法上讲,运算符可以定义为全局函数,也可以定义为成员函数。大致的规则
=,(),[],-〉这四个运算符只能重载为成员函数。所有的一元函数,+=,-=,/=,*=,&=,|=,~=, %=,>>=,<<=以及所有其他运算符都建议重载为成员函数(摘自高质量c++编程)
5.《高》中建议不要过分热心地使用,如果它不能使代码变得更加易读易写,那就别用,否则会自找麻烦。
6.出于安全考虑,有些运算符不允许被重载,不常见,不列了。
7.对已经存在的运算符进行重载时,不能改变优先级规则,否则将引起混乱。
 
原创粉丝点击