class A
{
public:
virtual void display_A(A* obja)
{
cout<<"Class A"<<endl;
}
};
class B:public A
{
public:
void display_A(B* objb)
{
cout<<"Class B"<<endl;
}
};
int main()
{
A AOBJ;
B BOBJ;
A *obja = new B();
obja->display_A(&AOBJ);
obja->display_A(&BOBJ);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
A类中有一个虚函数,参数为as A*,我们在derived class Bwith参数中覆盖了相同的函数B*.
我创建了一个指向派生类对象的指针obja(指向类的指针A)B.当我display_A用obja带有参数的指针调用函数作为类A对象指针和类B对象指针时,我得到了o/p as
Class A
Class A
Run Code Online (Sandbox Code Playgroud)
我无法理解为什么我会得到那个o/p.