Why is a C++ pure virtual function initialized by 0?

It’s just a syntax, nothing more than that for saying that “the function is pure virtual”.

A pure virtual function is a virtual function in C++ for which we need not to write any function definition and only we have to declare it. It is declared by assigning 0 in declaration.

Here is an example of pure virtual function in C++ program

Example Code

 Live Demo

using namespace std;
class B {
   public: virtual void s() = 0; // Pure Virtual Function

class D:public B {
   public: void s() {
      cout << " Virtual Function in Derived class\n";

int main() {
   B *b;
   D dobj;
   b = &dobj;


Virtual Function in Derived class