日期:2014-05-18  浏览次数:20963 次

虚函数的基础问题
class c
  {
  static void Main()
  {
  b bb = new b(); //我实例化了b类 在A的构造函数中就能执行到子类的重载方法 x+1,y+1

  a aa = new a(); //这样为什么就不能执行那x+1,y+1了那  
  }
  }
  class a
  {
  public a()
  {
  a1();
  }
  public virtual void a1() 
  {
   
  }
  }
  class b : a
  {
  int x = 1;
  int y;
  public b()
  {
  y = -1;
  }
  public override void a1()
  {
  Console.WriteLine("{0}{1}",x+1,y+1);
  Console.Read();
  }
  }

------解决方案--------------------
探讨
其实我就是不理解虚函数的运行机制。

华仔的比喻 假如我两个普通的类 B继承A 当我实例化B B里的方法都要执行一遍吗?