VIRTUAL FUNCTIONS IN C++
A virtual function is a member function in a base class declared using the virtual keyword and redefined in a derived class to achieve runtime polymorphism. Tamil mixed: Base class-ல் virtual keyword பயன்படுத்தி declare செய்யப்பட்டு, deriv…
Premium — locked
Advanced
33 min
155 cards
47 programs 10 MCQs v2
This is a premium lesson. You can see the shape of every card — unlock to read them.
Unlock
VIRTUAL FUNCTIONS IN C++ Virtual Function என்பது C++-இல் Runtime Polymorphism உருவாக்க பயன்படும் முக……
Premium
This card is part of the premium lesson.
Unlock
A virtual function is a member function in a base class declared using the virtual keyword and redefined in a……
Premium
This card is part of the premium lesson.
Unlock
ஒரு Base class: class Animal ……
Premium
This card is part of the premium lesson.
Unlock
இதுதான் Virtual Function-ன் ம……
Premium
This card is part of the premium lesson.
Unlock
Why virtual function is needed
Normal function call compile time-ல் decide ஆகலாம். ஆனால் சில நேரங்களில் எந்த object function execute ஆக வேண்……
Premium
This card is part of the premium lesson.
Unlock
எந்த sound() execute ஆக வேண்டும்? Dog என்றால் bark Cat எ……
Premium
This card is part of the premium lesson.
Unlock
Main concept
Virtual Function ↓ Function Overriding ↓ ……
Premium
This card is part of the premium lesson.
Unlock
Derived class
Program - without virtual function
முதலில் virtual இல்லாமல் என்ன……
Premium
This card is part of the premium lesson.
Unlock
Premium
This card is part of the premium lesson.
Unlock
Why base class output?
Pointer declaration: Base *ptr; Pointer type: Base Function virtual இல்லை. அதனால் compiler pointer type-ஐ ப……
Premium
This card is part of the premium lesson.
Unlock
Premium
This card is part of the premium lesson.
Unlock
Line explanation
Base Class class Base Parent class உருவாக்கப்படுகிறது. Virtual Function virtual void show() இங்கு: virtual co……
Premium
This card is part of the premium lesson.
Unlock
Base pointer
Base *ptr; இது Base class poi……
Premium
This card is part of the premium lesson.
Unlock
Derived object
Derived d; Derived object உரு……
Premium
This card is part of the premium lesson.
Unlock
Pointing derived object
ptr = &d; இப்போது: Base point……
Premium
This card is part of the premium lesson.
Unlock
Function call
ptr->show(); show() virtual என்பதால் runtime system actual ……
Premium
This card is part of the premium lesson.
Unlock
Program Start ↓ Create Derived object d ↓ Create Base pointer ptr ↓ ptr = &d ↓ ptr->show() ↓ Is show() virtua……
Premium
This card is part of the premium lesson.
Unlock
Example
void show() without virtual. Dynamic Binding Function se……
Premium
This card is part of the premium lesson.
Unlock
Virtual function and polymorphism
Polymorphism means: One interface, many forms. Anim……
Premium
This card is part of the premium lesson.
Unlock
ஒரே statement. ஆனால் different outputs:……
Premium
This card is part of the premium lesson.
Unlock
Real-time example
#include using namespace std; c……
Premium
This card is part of the premium lesson.
Unlock
Next
Actual object: Cat Call:…
Premium
This card is part of the premium lesson.
Unlock
Key point
ஒரே: Animal *ptr; pointer, பல derived ob……
Premium
This card is part of the premium lesson.
Unlock
Function overriding
Virtual function பொதுவாக Function Overriding உடன் பயன்படுத்தப்படுகிறது. Base: virtual void show() Derived: vo……
Premium
This card is part of the premium lesson.
Unlock
Example - overloading
void add(int a, int b); void add(double a……
Premium
This card is part of the premium lesson.
Unlock
Example - overriding
class Base { public: virtual void show() { } }; clas……
Premium
This card is part of the premium lesson.
Unlock
Override keyword
Modern C++-ல் derived class override ……
Premium
This card is part of the premium lesson.
Unlock
Example
இது compiler-க்கு: இந்த function Base class virtual function-ஐ override செய்ய வேண்டும் என்று தெரிவிக்கிறது. [……
Premium
This card is part of the premium lesson.
Unlock
Important rule
Base function virtual என்றால் Derive……
Premium
This card is part of the premium lesson.
Unlock
Example
Derived::show() virtual behavior தொடரும……
Premium
This card is part of the premium lesson.
Unlock
Example
Premium
This card is part of the premium lesson.
Unlock
Premium
This card is part of the premium lesson.
Unlock
Pure virtual function
Virtual Function-ன் very important ……
Premium
This card is part of the premium lesson.
Unlock
Example
= 0 என்பது pure virtual funct……
Premium
This card is part of the premium lesson.
Unlock
Pure virtual function meaning
Base class: virtual void draw() = 0; என்று சொல்வது: Eve……
Premium
This card is part of the premium lesson.
Unlock
Abstract class
ஒரு class-ல் குறைந்தது ஒரு pure vir……
Premium
This card is part of the premium lesson.
Unlock
Example
Shape is abstract class.…
Premium
This card is part of the premium lesson.
Unlock
Can we create abstract class object?
No. Wrong: Shape s; Abstract class object direc……
Premium
This card is part of the premium lesson.
Unlock
Pure virtual function program
Premium
This card is part of the premium lesson.
Unlock
Premium
This card is part of the premium lesson.
Unlock
Virtual destructor
Virtual functions topic-ல் மிகவும் important interview concept: Virtual Destructor Suppose: Base *ptr = new D……
Premium
This card is part of the premium lesson.
Unlock
Premium
This card is part of the premium lesson.
Unlock
Correct destruction sequence.…
Premium
This card is part of the premium lesson.
Unlock
Why virtual destructor?
When deleting through base pointer: delete ptr; Runtime ……
Premium
This card is part of the premium lesson.
Unlock
Can constructor be virtual?
No. C++ constructor cannot be virtual. Reason: Object construction இன்னும் co……
Premium
This card is part of the premium lesson.
Unlock
Can destructor be virtual?
Yes. virtual ~Base() is valid……
Premium
This card is part of the premium lesson.
Unlock
Can static function be virtual?
No. A static member function belongs to class, not to a particular object……
Premium
This card is part of the premium lesson.
Unlock
Can friend function be virtual?
A friend function is not a member function. Virtual function mus……
Premium
This card is part of the premium lesson.
Unlock
Can global function be virtual?
No. Virtual functions are mem……
Premium
This card is part of the premium lesson.
Unlock
Virtual function rules
Important rules: Virtual function must be a class member function. It is declared using virtual in base class……
Premium
This card is part of the premium lesson.
Unlock
Base reference with virtual function
Virtual function pointer மட்டும் அ……
Premium
This card is part of the premium lesson.
Unlock
Example
Base &ref = d; ref.show(); re……
Premium
This card is part of the premium lesson.
Unlock
Both support virtual dispatch
and
Object slicing - important
Suppose: Derived d; Base b = d; இங்கு object copy செய்வதால் derived-specific part slice ஆகலாம……
Premium
This card is part of the premium lesson.
Unlock
Real-life example - payment
#include using namespace std; ……
Premium
This card is part of the premium lesson.
Unlock
Runtime Polymorphism
Different objects different b……
Premium
This card is part of the premium lesson.
Unlock
Extensibility
New derived classes add செய்வ……
Premium
This card is part of the premium lesson.
Unlock
Flexible Design
Base interface மூலம் differen……
Premium
This card is part of the premium lesson.
Unlock
Code Reusability
Common interface reuse செய்யல……
Premium
This card is part of the premium lesson.
Unlock
Maintainability
Large OOP systems-ல் clean ar……
Premium
This card is part of the premium lesson.
Unlock
Disadvantages
Virtual function dispatch-க்கு small runtime overhead இருக்கலாம். Object may also need i……
Premium
This card is part of the premium lesson.
Unlock
Vtable and vptr
Exam/interview level-ல் virtual functions எப்படி internally work ஆகும் என்பதை அறிந்திருக்கலாம். Many C++ impl……
Premium
This card is part of the premium lesson.
Unlock
C++ standard itself implementation must use an actual ……
Premium
This card is part of the premium lesson.
Unlock
Common error 1
Base function virtual இல்லாமல் runtime poly……
Premium
This card is part of the premium lesson.
Unlock
Common error 2
Function signature mismatch. Base: virtual void show(in……
Premium
This card is part of the premium lesson.
Unlock
Common error 3
Abstract class object உருவாக்குவது. Wrong: ……
Premium
This card is part of the premium lesson.
Unlock
Common error 4
Destructor virtual செய்யாமல் base pointer மூலம் de……
Premium
This card is part of the premium lesson.
Unlock
VIRTUAL ↓ RUNTIME ↓ ACTUAL OBJECT ↓ DERIVED FUN……
Premium
This card is part of the premium lesson.
Unlock
Virtual function is used to a……
Premium
This card is part of the premium lesson.
Unlock
Which keyword is used to decl……
Premium
This card is part of the premium lesson.
Unlock
Virtual function binding occu……
Premium
This card is part of the premium lesson.
Unlock
Which concept works with virt……
Premium
This card is part of the premium lesson.
Unlock
Virtual function should norma……
Premium
This card is part of the premium lesson.
Unlock
A pure virtual function conta……
Premium
This card is part of the premium lesson.
Unlock
A class containing a pure vir……
Premium
This card is part of the premium lesson.
Unlock
Can constructor be virtual?…
Premium
This card is part of the premium lesson.
Unlock
Can destructor be virtual?…
Premium
This card is part of the premium lesson.
Unlock
Which supports runtime polymorphism……
Premium
This card is part of the premium lesson.
Unlock
Exam program
Premium
This card is part of the premium lesson.
Unlock
What is a virtual function? A member function declared with virtual in a base class……
Premium
This card is part of the premium lesson.
Unlock
What is late binding? Function cal……
Premium
This card is part of the premium lesson.
Unlock
Difference between virtual and pure virtual? virtual void show() { } Vi……
Premium
This card is part of the premium lesson.
Unlock
Remember these four lines: virtual ↓ overriding ↓ base pointer/ref……
Premium
This card is part of the premium lesson.
Unlock
Practice
Write programs using virtual functions for: Animal → Dog, Cat Shape → Circle, Rectangl……
Premium
This card is part of the premium lesson.
Unlock
Virtual Function | ├── Declared using virtual | ├── Base class member function | ├── Overridden in derived cl……
Premium
This card is part of the premium lesson.
Unlock