#include<iostream.h>
class BO
{
public:
void display(){ cout<<"BO::display()"<<endl;}
};
class B1: public BO
{
public:
void display(){ cout<<"B1::display()"<<endl;}
};
class B2:public B1
{
public:
void display(){ cout<<"B2::display()"<<endl;}
};
void fun(BO *ptr)
{
ptr->display();
}
int main()
{
BO bo;
B1 b1;
B2 b2;
BO *p;
p=&bo;
fun(p);
p=&b1;
fun(p);
p=&b2;
fun(p);
}
运行结果:
BO::display()
BO::display()
BO::display()
基类类型的指针,只能访问从基类继承来的成员。
本文通过一个 C++ 的示例程序演示了多态性的概念。在该程序中,定义了一个基类 BO 和两个派生类 B1、B2,并通过基类指针调用成员函数展示多态行为。运行结果显示,无论指向哪个派生类对象,基类指针调用的都是基类的成员函数,说明基类类型的指针只能访问从基类继承来的成员。
1738

被折叠的 条评论
为什么被折叠?



