通过基类指针实现多态示例(P248)
/*
通过基类引用实现多态
通过基类指针调用虚函数时可以实现多态,通过基类的引用调用虚函数的语句也是多态的。
PrintInfo(a); PrintInfo(b);
*/
#include <iostream>
using namespace std;
class A
{
public:
virtual void Print()
{
cout<<"A::Print"<<endl;
}
};
class B:public A
{
public:
virtual void Print()
{
cout<<"B::Print"<<endl;
}
};
class D:public A
{
public:
virtual void Print(){
cout<<"D::Print"<<endl;
}
};
class E:public B
{
public:
virtual void Print()
{
cout<<"E::print"<<endl;
}
};
int main()
{
A a;B b;D d;E e;
A *pa = &a;
B *pb = &b;
pa->Print();
pa = pb;
pa->Print();
pa = &d;
pa->Print();
pa = &e;
pa->Print();
return 0;
}

浙公网安备 33010602011771号