VTable内存布局的问题
以下是一些导出类[该库的作用定义好呈现的形式,只让用户定义自己的行为(挂接)从而实现多样化]
Ibase0
{
//很多接口
};
//库基类(实现了Ibase0所定义地所有方法,隐藏在库中不导出)
CXXXroot:public Ibase0
{
//实现了所有办法
};
//导出类,继承CXXXroot,并新增许多特性(接口)
目前的办法:
【导出处理】
Iexport:public Ibase0
{
//新增接口定义
};
【内部实现】
CExpXXX:public CXXXroot
{
};
该方法的缺点是定义顺序要和接口定义一致,否则导致vtable访问出错。
各位有没有好的办法?多谢