作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我浏览过的大多数网站和文章都通过给出以下标准示例。
class Complex
{
int real;
int imaginary;
public Complex(int real, int imaginary)
{
this.real = real;
this.imaginary = imaginary;
}
public static Complex operator +(Complex com1, Complex com2)
{
return new Complex(com1.real + com2.real,
com1.imaginary + com2.imaginary);
}
public override string ToString()
{
return (String.Format("{0} + {1}i", real, imaginary));
}
}
}
作为初学者,我们认为,运算符重载对于科学应用非常有用。
运算符重载对电子商务、电子银行或其他应用程序是否非常有用?正如我们看到上面给出的标准示例,很难掌握运算符的真正力量重载。请您根据需要提供示例来解释它。
最佳答案
在您提到的应用程序中,加法和减法(以及其他所需的数学运算)是常用的标准化运算,因此不需要重载。
对于所有其他操作,我更喜欢使用方法。
科学示例对于运算符重载很有用,因为它根据系统未知的数据类型重新定义了数学运算。如果你想创建一个自定义对象,它在语义上可以被另一个自定义对象实例添加或减去,那么运算符重载可能是合适的。
但建议谨慎。重载必须对其他程序员具有概念意义。举一个微不足道的例子,将加法定义为减法是完全可行的(但完全不能接受)。
关于C#运算符重载——走向实用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1765843/
我刚开始学习 Ruby,作为一名 .Net 开发人员,我想知道我是否应该直接使用 IronRuby,而不是先尝试一些纯 Ruby。 你怎么看?我会遗漏什么吗? -- 淫荡的 最佳答案 我会使用纯 ru
我是一名优秀的程序员,十分优秀!