基部操作者我有以下运算符重载代码匹配:如何使用上继承的类操作过载到在c#
public static Set operator+(Set left, Set right)
{
Set sum=new Set(left.Capacity+right.Capacity);
for (left.iterator_init(); !left.iterator_end(); left.iterator_next())
sum.add_member(left.iterator_current());
for (right.iterator_init(); !right.iterator_end(); right.iterator_next())
sum.add_member(right.iterator_current());
return sum;
}
集与INT数字数组与Capcity长度的类。
函数add_member在数组中插入一个数字。
我也有一类OrderedSet继承设置是这样的:
class OrderedSet : Set
在这个类我重写“add_member”功能的嵌入式数字上升。 现在我想用父类(Set)运算符+重载与OrderedSet完全相同的方式,以某种方式不必再次重写函数,而是依赖父类的重载。 所以,如果我想改变我添加两个集或OrderedSets的方式,我将不得不在Set上更改操作员代码。
我尝试这样做:
public static OrderedSet operator+(OrderedSet left, OrderedSet right):base(left,right)
{
}
,但没有运气,我得到的语法错误。 那么,我错过了什么?
您的基本运算符+返回'Set',您无法将其转换为OrderedSet'。 – Vladimir