This is a well known technique for me but just recently I heard it was called as 'overriding virtualization'. That's why I decided to expose how calling method from the explicitly mentioned class can override virtualization in classes. Consider you have
class A
{
virtual void m();
};
class B : public A
{
virtual void m();
};
When you create instance of class B, you will call B::m in all cases:A *a = new B; a->m();/// B::m hereSo, if you want to call m from A? Easy:
A *a = new B; a->A::m();/// A::m hereIn the example above I've overridden the virtual call.

No comments:
Post a Comment