纯虚基类方案例子 解决了名字冲突 解决了C++类的二进制布局不兼容间题 客户只看到 vtable,没有看到其他的实现细节 倮证不同语言编写的程序可以互操作 在不改变接口的情况下,可以单独升级客户或者对象 class IString virtual const char*Find( const char/变量|偏移 vtable virtual int Length=0 Length纯虚基类方案例子 ! 解决了名字冲突 解决了名字冲突 ! 解决了C++类的二进制布局不兼容问题 – 客户只看到vtable,没有看到其他的实现细节 – 保证不同语言编写的程序可以互操作 – 在不改变接口的情况下,可以单独升级客户或者对象 class IString { virtual const char*Find(const char *psz)=0; virtual int Length()=0; }; 变量 偏移量 vptr 4 Find Length vtable