【发布时间】:2015-08-01 11:05:41
【问题描述】:
class BC
{
public virtual void Display()
{
System.Console.WriteLine("BC::Display");
}
}
class DC : BC
{
public virtual void Display()
{
System.Console.WriteLine("DC::Display");
}
}
class TC : DC
{
public virtual void Display()
{
System.Console.WriteLine("TC::Display");
}
}
class Program
{
public static void Main()
{
BC b;
b = new BC();
b.Display();
b = new DC();
b.Display();
b = new TC();
b.Display();
}
}
为什么输出不是“BC::Display DC::Display TC::Display”?
【问题讨论】:
-
编译器警告提示了为什么会发生这种情况。您正在隐藏继承的成员。
标签: c# overriding