class A
{
int a;
public:
A()
{
}
virtual void f1()
{
cout<<"A "<<endl;
}
virtual void f2()
{
f1();
}
};
class B: public A
{
int b;
public:
B()
{
}
void f1()
{
cout<<"B "<<endl;
}
};
int main(void)
{
B obj;
obj.f2();
}
o/p - B
I am running this code on visual stdio 2010. Please explain Why class B's function f1() is called? and why not class A's function f1().