Skip to content

Latest commit

 

History

History
23 lines (18 loc) · 1.04 KB

virtual-methods@hNBErGNiegLsUJn_vgcOR.md

File metadata and controls

23 lines (18 loc) · 1.04 KB

Virtual Functions in C++

Virtual functions enable runtime polymorphism in C++, allowing derived classes to override base class behavior. When called via a base pointer/reference, the actual object's type determines which function is executed (dynamic dispatch). Non-virtual functions use compile-time resolution based on the pointer/reference type (static dispatch), which prevents overriding.

// Base class with virtual function
class Animal {
public:
    virtual void speak() { std::cout << "Generic sound"; }
};

// Derived class override
class Dog : public Animal {
public:
    void speak() override { std::cout << "Woof!"; } // Dynamic dispatch
};

Visit the following resources to learn more: