#include<iostream>
using namespace std;
class A
{
public:
void i()
{
cout<<"A "<<endl;
}
};
class B :public A
{
public :
void i()
{
cout<<"B"<<endl;
}
};
class C:public B
{
public :
void i()
{
cout<<"c"<<endl;
}
};
class D : public C
{
};
int main()
{
A *a=new D();
a->i();
cout<<endl;
B *kk=new D();
kk->i();
system("pause");
return 0;
}
打印结果:
A
B
父类指针指向子类的对象:子类父类中含有相同的函数,调用此函数的时候,系统调用的的是父类中的函数。当将相同函数声明为虚函数的时候,系统才会调用子类对象中的函数。