通过基类指针实现多态示例(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;
}

posted @ 2020-03-29 09:19  CollisionDimension  阅读(339)  评论(0)    收藏  举报