gpt4 book ai didi

c# - 哪个操作数调用重载函数

转载 作者:行者123 更新时间:2023-12-03 22:31:26 25 4
gpt4 key购买 nike

在 C++ 中,第一个操作数(对象)将调用重载函数。在 C# 中会做同样的事情吗?哪个操作数?因为在 C# 中,我们将两个操作数都发送给函数,例如 + 如下所示:

public static Rectangle operator + (Rectangle x,Rectangle y)

第二个问题。如果我们想为两种不同的类型执行此操作(考虑来自不同类类型的 object1object2),我们应该在哪里定义函数?

最佳答案

在您的示例中,重载运算符是 static(实际上,所有重载运算符都在 C# 中),因此与实例方法 object 不同,这两个操作数都不是调用该方法的“一个” .Equals,在 x.Equals(y) 中,您可以指出 x 是您调用该方法的对象。相反,就像您调用了这个静态方法一样:

Rectangle.Add(x, y);

如果您有两个不同的类型,您可以在任一类中定义运算符,但不能同时在两个类中定义。

关于c# - 哪个操作数调用重载函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18968434/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com