首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2013-09-09 
新手在做面试题,求解虚函数的问题?#include iostreamusing namespace stdclass A{virtual void g(){cou

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

#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吗?派生类怎么调用基类的私有虚函数啊?求解
虚函数
[解决办法]
私有的也是他的成员啊  你是不是想成了私有继承

热点排行