读书人

新手在做面试题求解虚函数的有关问题

发布时间: 2013-09-09 20:31:09 作者: rapoo

新手在做面试题,求解虚函数的问题?

#include <iostream>
using namespace std;
class A
{
virtual void g()
{
cout << "A::g" << endl;
}
private:
virtual void f()
{
cout << "A::f" << endl;
}
};
class B : public A
{
void g()
{
cout << "B::g" << endl;
}
virtual void h()
{
cout << "B::h" << endl;
}
};
typedef void(*Fun)(void);
int main()
{
B b;
Fun pFun;
for(int i= 0;i < 3; i++)
{
pFun = (Fun)*((int *)*(int*)(&b)+i);
pFun();
}
return 0;
}
结果:
B::g
A::f
B::h

默认的不都是private吗?派生类怎么调用基类的私有虚函数啊?求解
虚函数
[解决办法]
私有的也是他的成员啊 你是不是想成了私有继承

读书人网 >C++

热点推荐