C语言C加加编程之运算符重载,需要注意的那些点

C语言C加加编程之运算符重载,需要注意的那些点_第1张图片

1、格式:

返回值类型 operator 运算符名称(形参列表)

{

}

operator 运算符名称 :可以看成函数名。

2、不能重载的运算符:

长度运算符 sizeof 条件运算符 : ? 成员选择符. 对象选择符.* 域解析运算符 ::

3、重载不能改变运算符的优先级和结合性。

4、重载不会改变运算符的用法,原先有几个操作数,操作数在左边还是右边,这些都不会改变。例如~右边只有一个操作数,+总是出现在两个操作数之间,重载后也必须如此。


C语言C加加编程之运算符重载,需要注意的那些点_第2张图片

小编推荐一个学C语言/C++的学习裙【 六二七,零一二,四六四 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

5、运算符重载函数不能有默认的参数。

6、运算重载函数既可以作为类的成员函数,也可以作为全局函数(friend友元)。

7、将运算符重载函数作为类的成员函数时,二元运算符的参数只有一个,一元运算符不需要参数。因为少了的这个参数是隐含的。

如: complex operator + (constcomplex & A)const

当执行 c3 = c1 + c2;

会被转换成: c3 = c1.operator +(c2);

外部:operator(c1,c2);

通过 this 指针隐士的访问 c1 的成员变量。

8、对象之间也可以赋值,对象之间的赋值是将成员变量依次拷贝,而不是将整个对象的内存按位拷贝。


C语言C加加编程之运算符重载,需要注意的那些点_第3张图片

你可能感兴趣的:(C语言C加加编程之运算符重载,需要注意的那些点)