纯虚函数和普通虚函数的比较

  纯虚函数的显著特性是 文件.h的声明中末尾 “ = 0”,必须要求在子类中予以实现方法,要求很严格。

  如果在派生类中未予以实现,会在编译时明显报出错误,cannot instantiate abstract class(不能将抽象类实例化)

 virtual int Temp(int i) = 0 ;

 

  普通虚函数要求在基类中予以实现方法,使用继承和派生时,可以不单独实现,要求不严格。

  如果只声明为具体实现,会和普通函数一样报错。

virtual int Temp(int i,int p);

int Cxx::Temp(int i,int p)
{
   return i+p+10;      
}

以上总结,如果想在基类中偷懒不想实现具体函数,将虚函数变为纯虚函数,那么就一样要在子类中予以实现。

也可以把这特性当作重要特性,要求子类必须予以实现。

posted on 2018-03-11 21:58  DaQuanQuan  阅读(163)  评论(0)    收藏  举报

导航