如题:
using System;
class A
{
public void F(){Console.WriteLine("A.F");}
public virtual G(){Console.WriteLine("A.G");}
}
class B:A
{
public void F(){Console.WriteLine("B.F");}
public override G(){Console.WriteLine("B.G");}
}
void main()
{
B b=new B();
A a=b;
a.F();
a.G();
b.F();
b.G();
}
让写出程序将输出什么?
我先写的是:A.F-A.G-B.F-B.G 后又改成了:B.F-B.G-B.F-B.G
我是不是改错了?
诸位帮看下
A a=b;
-----------------
B类对象b赋给了A类对象a这时候... ...
能不能多解释下阿
A.F
B.G
B.F
B.G你看到A类的G是个虚方法啊所以它实际上是调用的B.G