单件模式中的祖先类调用后代类虚函数有关问题

单件模式中的祖先类调用后代类虚函数问题
一个嵌入式系统程序中的C++代码如下:
//-------------------  USBHAL.h  -----------------------

class USBHAL
{
public:
...............
protected:
virtual bool fun00(){return false;};
virtual bool fun01(){return false;};
virtual bool fun02(){return false;};
virtual bool fun03(){return false;};
virtual bool fun04(){return false;};
    ...................
private:
void         usbisr(void);
static void _usbisr(void);
    static USBHAL* instance;
bool (USBHAL::*epCallback[6])(void);
};

class USBDevice: public USBHAL
{
    ...............
};

class USBMSD: public USBDevice
{
protected:
virtual bool fun00();
        virtual bool fun01();

};

//------------------  USBHAL.cpp ----------------------

#include "USBHAL.h"

USBHAL * USBHAL::instance;

USBHAL::USBHAL(void){
....................
        epCallback[0]=&USBHAL::fun00;
        epCallback[1]=&USBHAL::fun01;
epCallback[2]=&USBHAL::fun02;
epCallback[3]=&USBHAL::fun00;
    ....................
instance = this;
NVIC_SetVector(IRQn, (uint32_t)&_usbisr);//将 _usbisr设为中断函数
    ....................
}

void USBHAL::_usbisr(void){
instance->usbisr();
}

void USBHAL::usbisr(void){
bool m;
...................
m = (instance->*(epCallback[i]))();
...................
}

问题:
    由中断触发函数指针调用(最后代码),会调用后代类的虚函数吗?
------解决方案--------------------
都单件了,还继承啥啊。
------解决方案--------------------
3楼正解, 单例, 构造函数一般是private, 不能继承
------解决方案--------------------
你这是单例模式?
复制控制成员不要私有化?
所谓单例一般只有一个static对象供使用,你继承什么呢?