Horje
Difference between Virtual function and Pure virtual function in C++
Virtual Function in C++

A virtual function is a member function which is declared within a base class and is re-defined(Overridden) by a derived class. When you refer to a derived class object using a pointer or a reference to the base class, you can call a virtual function for that object and execute the derived class’s version of the function.

Pure Virtual Functions in C++

A pure virtual function (or abstract function) in C++ is a virtual function for which we don’t have an implementation, we only declare it. A pure virtual function is declared by assigning 0 in the declaration.

Similarities between virtual function and pure virtual function

  1. These are the concepts of Run-time polymorphism.
  2. Prototype i.e. Declaration of both the functions remains the same throughout the program.
  3. These functions can’t be global or static.

Difference between virtual function and pure virtual function in C++

Virtual functionPure virtual function
A virtual function is a member function of base class which can be redefined by derived class.A pure virtual function is a member function of base class whose only declaration is provided in base class and should be defined in derived class otherwise derived class also becomes abstract.
Classes having virtual functions are not abstract.Base class containing pure virtual function becomes abstract.
Syntax: CPP
virtual<func_type><func_name>()
{
    // code
}
Syntax: CPP
virtual<func_type><func_name>()
    = 0;
Definition is given in base class.No definition is given in base class.
Base class having virtual function can be instantiated i.e. its object can be made.Base class having pure virtual function becomes abstract i.e. it cannot be instantiated.
If derived class does not redefine virtual function of the base class, then it does not affect compilation.If derived class does not redefine virtual function of the base class, then no compilation error is encountered, but like the base class, derived class also becomes abstract.



Reffered: https://www.geeksforgeeks.org


C++

Related
cin get() in C++ with Examples cin get() in C++ with Examples
Map of Vectors in C++ STL with Examples Map of Vectors in C++ STL with Examples
Reverse the content of a file and store it in another Reverse the content of a file and store it in another
Count of nodes that are greater than Ancestors Count of nodes that are greater than Ancestors
Nested Loops in C++ with Examples Nested Loops in C++ with Examples

Type:
Geek
Category:
Coding
Sub Category:
Tutorial
Uploaded by:
Admin
Views:
10