Explain the use of Vtable.- Vtables are used for virtual functions. Its a shortform for Virtual Function Table. - It's a static table created by the compiler. Compiler creates a static table per class and the data consists on pointers to the virtual function definitions. They are automatically initialised by the compiler's constructor code. - Since virtual function pointers are stored in each instance, the compiler is enabled to call the correct vrtual function at runtime.Explain the use of Vtable.- If Base declares a member function and Derived declares a member function with same name but different parameter types, then the Base function is "hidden" rather than "overloaded" or "overridden" even if the Base function is virtual. - The solution to that is that a Derived must have a using declaration of the hidden member function OR redefine the hidden Base member function(s), even if they are non-virtual. - Normally this re-definition merely calls the hidden Base member function using the :: syntax.
|