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 is the role of C++ shorthand's?
What things would you remember while making an interface?
How to declare a pointer to an array of integers?
What return value must conversion operators have in their declaration?
What are friend classes? What are advantages of using friend classes?
If all is successful, what should main return a) 0 b) 1 c) void
What are formatting flags in ios class?
What are the different types of comments allowed in c++?
What is recursion?
What are namespaces in c++?
What is the difference between a copy constructor and an overloaded assignment operator?
4 Answers Belzabar, Citrix, Microsoft, Wipro,
Which is not an ANSII C++ function a) sin() b) tmpnam() c) kbhit()