今日、私は興味深い問題を思いつきました。次のコードに気付きました:
class A
{
public A()
{
Print();
}
public virtual void Print()
{
Console.WriteLine("Print in A");
}
}
class B : A
{
public B()
{
Print();
}
public override void Print()
{
Console.WriteLine("Print in B");
}
}
class Program
{
static void Main(string[] args)
{
A a = new B();
}
}
版画
Print in B
Print in B
「Print in B」が 2 回印刷される理由を知りたいです。