快捷搜索:  汽车  科技

c语言中的运算符运算规则(运算符重载的规则)

c语言中的运算符运算规则(运算符重载的规则)sizeof (长度运算符):: (域运算符) (二)C 不能重载的运算符只有5个:· (成员访问运算符)* (成员指针访问运算符)

c语言中的运算符运算规则(运算符重载的规则)(1)

运算符重载对C 有重要的意义,把运算符重载和类结合起来,可以在C 程序中定义出很有实用意义且使用方便的新的数据类型。

运算符重载使C 具有更好的扩充性和适应性,这是C 功能强大和最吸引人的一个特点。

C 重载运算符必须遵从以下规则:

(一)C 不允许用户自己定义新的运算符,只能对已有的C 运算符进行重载。

(二)C 不能重载的运算符只有5个:

· (成员访问运算符)

* (成员指针访问运算符)

:: (域运算符)

sizeof (长度运算符)

?: (条件运算符)

(三)重载不能改变运算符运算对象(即操作数)的个数。

(四)重载不能改变运算符的优先级。

(五)重载不能改变运算符的结合性。

(六)重载运算符的函数不能有默认的参数,否则改变了运算符参数的个数。

(七)重载的运算符必须和用户定义的对象一起使用,其参数至少应有一个是类对象(或类对象的引用),即参数不能全部是C 的标准类型,以防止用户修改用于标准类型数据的运算符的性质。

(八)用于类对象的运算符一般必须重载,而运算符“=”和“&”不必用户重载。

赋值运算符“=”可以用于每一个类对象,可以利用它在同类对象之间相互赋值;

地址运算符“&”,不必重载,它能返回类对象在内存中的起始地址。

(九)应当使重载运算符的功能类似于该运算符作用于标准类型数据时所实现的功能。

猜您喜欢: