63 lines
621 B
C#
63 lines
621 B
C#
|
using System;
|
||
|
|
||
|
class A
|
||
|
{
|
||
|
public int Value;
|
||
|
|
||
|
public A (object o)
|
||
|
{
|
||
|
Value = 500;
|
||
|
}
|
||
|
|
||
|
protected A (int a)
|
||
|
{
|
||
|
Value = a;
|
||
|
}
|
||
|
|
||
|
public int Test (object o)
|
||
|
{
|
||
|
return 2;
|
||
|
}
|
||
|
|
||
|
protected int Test(int i)
|
||
|
{
|
||
|
return 5;
|
||
|
}
|
||
|
|
||
|
protected int this [int i] {
|
||
|
get { return i; }
|
||
|
}
|
||
|
|
||
|
public int this [object i] {
|
||
|
get {
|
||
|
return 2;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
class B : A
|
||
|
{
|
||
|
public B ()
|
||
|
: base (1)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
public static int Main ()
|
||
|
{
|
||
|
int r;
|
||
|
A a = new A (1);
|
||
|
if (a.Value != 500)
|
||
|
return 1;
|
||
|
|
||
|
r = a.Test (1);
|
||
|
if (r != 2)
|
||
|
return 2;
|
||
|
|
||
|
r = a [0];
|
||
|
if (r != 2)
|
||
|
return 3;
|
||
|
|
||
|
Console.WriteLine ("ok");
|
||
|
return 0;
|
||
|
}
|
||
|
}
|