只有当函数/类的所有定义都在头文件中时,才不需要导出。 它与虚拟性无关。 因此,如果您没有导出所有类,则只要它没有任何公共或受保护的函数定义在cpp文件中,客户端代码就可以使用它。 您还可以仅声明要导出的特定成员函数,而不是整个类,方法是在函数声明中使用__declspec而不是在类名声明中使用。