Why we can't create the object of abstract class ?
Answer Posted / abhishek ajmera
When we declare a pure virtual function like this:-
Virtual PureVirtualFunction()=0;
This indicates compiler to reserve a slot for Function in VTABLE but don’t put an address in that particular slot. If only one function in a class is declared as pure virtual, the VTABLE is incomplete.
If the VTABLE for a class is incomplete, compiler cannot safely create an object of a pure abstract class, so you get an error message from the compiler if you try to make an object of a pure abstract class. Thus, the compiler ensures the purity of the abstract class, and you don’t have to worry about misusing it.
Is This Answer Correct ? | 10 Yes | 1 No |
Post New Answer View All Answers
What are the desktop applications?
Why do I get a security exception when I try to run my c# app?
What is an enumerator c#?
What is dataview c#?
Which function is the entry point for a DLL in MS Windows 3.1?
Define using statement in c#?
What are the problem with .NET generics?
Can we override interface method?
Is .net and c# the same?
How do you use nullable?
When should we use delegates in c#?
What is private virtual in C#?
How can we set the class to be inherited, but prevent the method from being over-ridden?
Why do we need delegates in c#?
What is concatenation and when should it be used?