C++primer读书笔记6(二)

2014-11-24 02:00:34 · 作者: · 浏览: 3
{
DWORD_PTR vtable;
int data;
};
其他
C++中没有接口的概念,一般要实现接口都用pure virtual class(纯虚类),下面代码举一个实例:
struct ISwitch
{
virtual void On() = 0;
virtual void Off() = 0;
};
定义一个ISwitch接口。参考java或者 c#的语言规定,一个接口不能从类继承,所以这个接口的虚函数表其实没有任何意义,Microsoft为这种情况发明了一个修饰符__declspec(novtable)。为纯虚类加上这个关键字不错的选择,可以减少编译出来的冗余信息,这个技术被用到__interface关键字上了,ATL中能看到。