作者在 2008-11-21 20:28:13 发布以下内容
虚函数的声明语法:virtual 函数类型 函数名(形参表){函数体}
虚函数的定义只能出现在类的定义中的函数原型中声明中,而不能在成员函数实现的时候
由成员函数的调用或者通过指针、引用来访问虚函数
for example:
#include<iostream>
using namespace std;
class B0
{public:
virtual void display(){cout<<"B0::display()"<<endl;}
};
class B1: public B0
{public:
void display(){cout<<"B1::display()"<<endl;}
};
class D1:public B1
{public:
void display(){cout<<"D1::display()"<<endl;}
};
void fun(B0 *ptr)
{ptr->display();}
int main()
{B0 b0,*p;
B1 b1;
D1 d1;
p=&b0;
fun(p);
p=&b1;
fun(p);
p=&d1;
fun(p);
}
其结果为 :
B0::display()
B1::display()
B2::display()