Virtual Function |
Pure Virtual Function |
It has their definition in the class. |
It has no definition in the class. |
Declaration: virtual funct_name(parameter_list) {. . . . .}; |
Declaration: virtual funct_name(parameter_list)=0; |
It has no concept of derived class. |
If a class contains at least one pure virtual function, then it is declared abstract. |
If required, the base class can override a virtual function. |
In case of pure virtual function derived class has to definitely override the pure virtual function. |