如题

解决方案 »

  1.   

    virtual可以重写也可以不重写
    abtract的必须重写~~~~
      

  2.   

    virtual方法可以有具体实现,abstract只有声名,没有实现,要靠继承类重写
      

  3.   

    abtract没有方法体,子类必须重写。而且abtract方法只能在abtract类中。
    virtual是虚函数和abtract不一样
      

  4.   

    应该是abstract是抽象函数的意思,去google找下能找出一把
      

  5.   

    virtual是有实现的,abstract是没有实现的
    virtual允许子类复盖父类的方法(在子类应显式标记override)
      

  6.   

    virtual有方法的实现
    而abtract没有具体的实现
      

  7.   

    abstract没有实现
    virtual提供默认的实现
      

  8.   

    abstract的话,子类必须实现abstract方法而virtual则可以不实现,不实现的话,就用基类的方法
      

  9.   

    abstract更抽象,完全没有实现,需要继承的类重写方法。
    virtual有部分实现,抽象级别稍低,继承的类可以选择override该方法,也可以不重写。
    比如父类和子类的同一方法有部分相同的处理逻辑,则把那相同的部分放到virtual方法中,子类可以继承该部分代码。
    如果子类完全没有相同的处理代码,则abstract或定义接口方法,以便重写。