How the V-Table mechanism works?
Answers were Sorted based on User's Feedback
Answer / dee
V-table is created for class when a class has atleast one
virtual function and each virtual function has a entry in
the V-table.
| Is This Answer Correct ? | 48 Yes | 3 No |
Answer / nishikant sahu
V-Table holds the addresses of virtual functions of a class
and type_info structure for RTTI.V-table created class basis.
when an object created compiler secretly inserted the
v-table pointer of the respective class and then Vptr
iterator accordingly. all are done under the hood.
| Is This Answer Correct ? | 21 Yes | 3 No |
Answer / ramesh
V-table is specific to class. No matter how many objects
are created for this class, only one virtual table exists.
Each virtual function in the class will have a pointer in
Vtable.
Whenever a code like Base *b = new Derived; is encountered,
during compile time the search will happen in Base class.
Its only during run time the actual objects are invoked and
the fucntion present in derived class will be called.
| Is This Answer Correct ? | 6 Yes | 1 No |
Answer / deepa balamurugan
If the both Base and the Derived class having the same
function then the Base class funtion should be declared as
virtual function. Then the C++ determines which function to
be called at the runtime based on the type of the object
pointed to by the Base pointer rather than the type of the
pointer.
As soon as the compiler reads the keyword virtual ,it will
create the vtable contains the address of the virtual
function inside that class and as soon as vtable is
created ,vptr is initialized to the proper vtable.
| Is This Answer Correct ? | 3 Yes | 0 No |
Answer / tiru
virtual table contains the address of the virtual functions
and pointers to the objects of the each of the derived
classes.
| Is This Answer Correct ? | 6 Yes | 12 No |
Answer / achal
V-Table mechanism works on principle of dynamic binding
i.e. which version of the function has to be called is
decided by CPU at run time.
Use of virtual functions make the execution slower. Not all
the objects of the same class have different V-Table.
| Is This Answer Correct ? | 2 Yes | 10 No |
What are the advantages and disadvantages of using inline and const?
2 Answers Polaris, TCS, Zimmer Biomet,
When do you call copy constructors?
What is the purpose of extern storage specifier?
What is a template in c++?
What is "mutable" keyword?
Ask to write virtual base class code?
why v use c++ even we have microprocessor
Can the operator == be overloaded for comparing two arrays consisting of characters by using string comparison?
What is the use of ::(scope resolution operator)?
What is the use of data hiding?
Is string data type in c++?
What is the Diffrence between a "assignment operator" and a "copy constructor"?