We always declare a pure virtual function as :
virtual void fun () = 0 ;
i.e. it is always assigned to 0.
What I understand is that this is to initialize the vtable entry for this function to NULL and any other value here results in a compile time error. Please tell me whether this understanding is correct or not.