50 lines
502 B
C#
Raw Normal View History

using System;
class A
{
public static int operator + (short x, A b)
{
return -1;
}
public static int operator - (A a)
{
return -1;
}
}
class B : A
{
public static int operator + (int x, B d)
{
return 1;
}
public static int operator - (B b)
{
return 1;
}
}
class C : B
{
}
public class Test
{
public static int Main ()
{
var b = new B ();
short s = 3;
var res = s + b;
if (res != 1)
return 1;
var c = new C ();
if (-c != 1)
return 2;
return 0;
}
}