繁体   English   中英

在类中定义算术运算

[英]Defining arithmetic operations in a class

我正在用自己的类在C#中创建一个库dll。 但是,对于算术运算(+,-,*,/,...),我创建了.Add(c1,c2)之类的方法,其中c1和c2是此类的对象。

这种方法很棒,但是我更愿意说:c3 = c1 + c2; 并且因为我已经为我的类编写了Add函数,Multiply函数,Divide函数等,所以我想定义一下:

c1 = c2 + c3等于:c1 = MyClass.Add(c2,c3);

因此,如果可能的话,我将重用我的代码。 我敢肯定,网络上有关于这一切的文档和信息,但是我找不到,无论我搜索什么,Google都会误解我的问题。

如何为类的对象定义基本的算术运算?

您正在寻找运算符重载 。您需要重载+运算符来告诉编译器如何在两个对象之间执行加法运算,然后您就可以像添加两个整数一样添加两个对象。

这是msdn+运算符重载的示例

public static Complex operator +(Complex c1, Complex c2) 
{
   return new Complex(c1.real + c2.real, c1.imaginary + c2.imaginary);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM