你的代码只是展示了virtal的运行结果
但virtal在你的代码中用处不大

解决方案 »

  1.   

    sample:  class People
      {
         public void virtal Say();
      }
      class Man:People
      {
         public void override Say()
         {
             Console.Write("man!");
         }
      }
      class Woman:People
      {
         public void override Say()
         {
             Console.Write("woman!");
         }
      }
      class UsePeople
      {
          public void Use(People people)//是个人都行!
          {
             people.Say();
          }
      }
         class Class1 
          {       
             static void Main(string[] args) 
             { 
                UsePeople usePeople = new UsePeople();
                People people = new Man();
                usePeople.Use(people);
                people = new Woman();
                usePeople.Use(people);  
             } 
          } 
    你自己看吧,我也没有调试过
      

  2.   

    不仅仅是说明重载而已,自己多体会一下
    一般应将People类定义为接口
      

  3.   

    输入出Man和WoMan有什么问题???
      

  4.   

    see more info in msdn
      

  5.   

    抽象,多态这些面向对象的基本概念你真正清楚以后自然就明白了,virtual主要是为多态而存在地//a sample exampleclass graphic
    {
      virtual void draw();
    }class circle:graphic
    {
      override void draw()
      { 
       //画一个圆
      }
    }
    class rectangle:graphic
    {
      override void draw()
      { 
       //画一个矩形
      }
    }//在应用程序里面
    main()
    {
      graphic a;
      a = new circle();// 注意在这里我们可以new circle,也可能new rectangle ;可能是用户在运行时选择的;实际情况中可能是个条件语句,根据不同参数,构造不同的实体  a.draw(); //ok,new的是什么,就画什么
    }