About Virtual functions and their use ?
Answer Posted / sandeep
Virtual keyword is used to perform the dynamic binding
instead of early binding. To be brief below is the example
Class base
{
void display()
{
cout<<"in Base";
}
}
Class derived: public base
{
void display()
{
cout<<"in derived";
}
}
void main()
{
base* ptr;
ptr = new derived;
ptr->display();
}
When we execute above program output will be displayed as
"in base", but expected output was "in derived". So compiler
was choosing member function which matches the type of the
pointer rather than the member function which matches the
content of the pointer. But when we use Virtual keyword in
base class, it perform the dynamic binding, i.e., at run
time it choose the function to execute and executes "in
derived". So when we use virtual keyword, compiler will
select the member function which matches the content of the
pointer and it will ignore the member function which matches
the type of the pointer.
Is This Answer Correct ? | 17 Yes | 1 No |
Post New Answer View All Answers
What is gac? What are the steps to create an assembly and add it to the gac?
explain Garbage collector’s functionality on unmanaged code
What are assemblies?
Whats an assembly? Describe the importance of assembly?
What is default value of enum c#?
How does bubble sort work?
What is the difference between arraylist and list in c#?
Are arrays immutable c#?
what is collections in .net? why we use?
What is Dependency of Injection?
Is stringbuilder faster than string concatenation c#?
What is c# windows form application?
What is a nullreferenceexception?
What is datagrid c#?
How does bitwise work?