目录:
定义-运算符重载是什么意思?
运算符重载是一种技术,通过该技术,编程语言中使用的运算符可以根据用户定义的类型以及基于传递的参数类型的自定义逻辑来实现。
运算符重载有助于为其中一个或两个操作数属于用户定义的类或结构类型的操作指定用户定义的实现。 这可以帮助用户定义的类型更像基本的基本数据类型。 运算符重载在某些类型的运算符提供了与编程语言所用的域上下文相关的语义和语法支持的情况下很有用。 它用于语法上的便利性,可读性和可维护性。
Java不支持运算符重载,除了字符串串联外,它在内部对其+运算符进行重载。
技术百科解释了操作员超载
在表达式中使用运算符表示法,在声明中使用函数表示法来引用运算符。 不能通过使用用户定义的运算符声明来更改运算符的语法,优先级和关联性。
例如,C#中的运算符根据其执行的操作类型进行分类。 通过在静态成员函数中定义它们并使用operator关键字,可以在用户定义类型中重载其中的一些。 运算符函数的参数表示操作数,而运算符函数的返回类型表示运算结果。 运算符的成对实现重载,例如“ ==”和“!=”之类的比较运算符。 应该重写这些运算符的Equals()方法,以避免出现编译器警告。 重载不适用于条件运算符,逻辑运算符(和!!),赋值运算符(+ =,-=等),强制转换和数组索引()。
强烈建议实施操作符重载,以使所产生的结果是操作符的默认实现所直观期望的结果。 适用于具有两个操作数的表达式的某些数学规则(例如可换律)在用于类型的重载时不适用,因为它们仅为数字操作数定义。