logo
天地变化的道理
使用率很高网站
生活要常常分享
您身边百科全书
免费为您秀产品
运算符重载
运算符重载 在计算机程序设计中,运算符重载()是多态的一种。这里,运算符(比如+,=或==)被当作多态函数,它们的行为随着其参数类型的不同而不同。运算符并不一定总是符号。 简介. 运算符重载通常只是一种语法糖。它可以简单地通过函数调用来模拟: a + b * c 在一个支持运算符重载的语言里,上面的写法要比下面的写法有效而简练: add(a, multiply(b, c)) (假设运算符* 的优先级高于运算符 +) 当一种语言允许运算符在某种情况下被隐式调用的时候,运算符重载将不只提供写法上的方便。例如,Ruby中的codice_1运算符就是如此,它将一个对象转换为字符串。 用途. 运算符重载由于使程序员能够根据运算子类型的不同来决定运算符功能的不同而有多样用途。C++中codice_2的使用就是一个例子。表达式 a « 1 当a是整型变量时将返回a的两倍,但是当a是一个输出流时将向这个流中写入“1”。因为运算符重载允许程序员改变运算符通常的语义,慎重使用运算符重载通常被认为是一个好习惯。 简易实例. 以下是C++语言示例: using namespace std; class point { public: int x, y; point() { x = y = 0; point(int ix, int iy) { x = ix; y = iy; point pointxyadd(point pi) { return point(x + pi.x, y + pi.y); point operator+(point pi) { return point(x + pi.x, y + pi.y); }; int main() { point p1(5, 10), p2(8, 13), p3, p4; p3 = p1.pointxyadd(p2); p4 = p1 + p2; cout « "p3 = (" « p3.x « ',' « p3.y « ')' « endl; cout « "p4 = (" « p4.x « ',' « p4.y « ')' « endl; return 0; 分类. 支持运算符重载和定义新运算符的语言: 支持运算符重载的语言: 不支持运算符重载的语言:
运算符重载
本站由爱斯园团队开发维护,感谢
那些提出宝贵意见和打赏的网友,没有你们的支持,
网站不可能发展到今天,
继往开来,善终如始,我们将继续砥砺前行。
Copyright ©2014 iissy.com, All Rights Reserved.