虚函数是有实现的并明确允许子类去覆盖,但子类也可不覆盖抽象函数是没有实现的子类要是具体类,一定要实现

解决方案 »

  1.   

    虛函數:由virtual聲明,它允許在派生類中被重寫,要重寫方法,必須先聲名為virtual
    public class myclass
    {
     public virtual int myint()
     {
        函數体;
     }
    }
    class myclass1:myclass
    {
     public override int myint()
     {
               函數体1;
     }
    }抽象類、抽象函數:由abstract聲明,在抽象類中可以定義抽象方法,抽象方法基本沒有執行代碼,派生類必須重寫它,提供其執行代碼
    public abstract class myclass
    {
     public abstract int myint();
    }
    public class myclass1:myclass
    {
     public override int myint()
     {
         函數体;
     }
    }
      

  2.   

    虚函数是有代码的并明确允许子类去覆盖,但子类也可不覆盖,就是说可以直接用,不用重写
    抽象函数是没有代码,子类继承后一定要重写
      

  3.   

    在一个类中用虚函数:
    是因为在超类中的有实际代码的方法,但明确允许子类可以作重写
    而且当子类重写后,可以用子类实例超类;如果这样,超类变量调用虚函数时,执行的是子类的方法在一个类中用抽象函数
    是在写超类时不确定函数的代码,让子类去实现
      

  4.   

    我看过的一本书上曾经这样写过。在一个类的设计中虚函数和抽象函数的使用很难的区分。不知道是不是
      

  5.   

    是的,抽象函数没有方法体。