重载的定义,在一个类中公用同一个方法名,但是参数类型或者参数个数不同。如果仅仅有方法返回值类型不同,不能构成函数的重载。
上面仅仅说了函数的重载,还有一些操作符重载呢?
还是先列出c++有哪些操作符吧!
操作符可分为9个大类,分别为:
1.赋值运算符:‘=’,注意这里不是等于的意思,只是单纯的赋值
2.算术运算符:单目操作符’+‘、’-‘(一元正、负号),+,-,*,/,%,(加、减、乘、除、取余)
3.逻辑运算符:&&,||,!
4.关系运算符:>,<,=,>=,<=,==,!=
5.位操作符:~(求反),<<(左移),>>(右移),&(位与),^(位异或),|(位或)
6.自增自减运算符:++,--(注意此类运算符可在前在后,但是运算符在前的话,是先自加1,然后再使用;而运算符在后的话,先使用然后再加1)
7.复合赋值运算符:+=,-=,*=,/=,%=(模运算赋值),<<=(左移赋值),>>=(右移赋值),&=(位逻辑与赋值),|=(位逻辑或赋值),^=(位逻辑异或赋值),
8.条件运算符:?:(条件运算符作为C/C++中唯一的三元运算符)
9.逗号运算符:,(逗号表达式是一组由逗号分隔的表达式,这些表达式从左到右计算。并且逗号表达式的结果是其最右表达式的值,例如表达式“a= (b=2,c=7,d=5);",那么a的值为5,而表达式“a=b=2,c=7,d=5;",此时a的值为2,因为赋值运算符的优先级比逗号运算高)
常见的一些的操作符:
1.取地址操作符:&
2.解引用操作符:*
3.调用操作符:( () ),调用操作符是一对圆括号,括住传递给函数的实参列表
4.箭头操作符:->(C++为包含点操作符和解引用操作符的表达式提供的一个同义词)
5.作用域操作符:::(全局作用域、类作用域、名字空间作用域)
6.点操作符:. (点操作符的右操作数不是对象或值,而是成员的名字)
7.下标操作符:[]
8.new/delete([])操作符:
9.指向成员操作的指针操作符:->*,.*
10.输入和输出操作符:>>、<<
不可操作的操作符比较少,可直接列出来:
作用域操作符:::
条件操作符:?:
点操作符:.
指向成员操作的指针操作符:->*,.*
预处理符号:#
sizeof
.、.*运算符不能重载是为了保证访问成员的功能不能被改变,域运算符合sizeof运算符的运算对象是类型而不是变量或一般表达式,不具备重载的特征。