分析一个小DEMO
程序:
public class A
{
public virtual void Fun1(int i)
{
Console.WriteLine(i);
}
public void Fun2(A a)
{
a.Fun1(1);
Fun1(5);
}
}
public class B : A
{
public override void Fun1(int i)
{
base.Fun1 (i + 1);
}
public static void Main()
{
B b = new B();
A a = new A();
b.Fun2(a);
}
}
这个输出结果是1 和6
我不明白为什么,以我看该是输出2和6,请详细解说下