dll封装类怎么导出接口

dll封装类如何导出接口
我写一个dll 库
CSocketDelegate_Client  我想导出此类
class CSocketDelegate_Client
{
public:
CSocketDelegate_Client();
virtual ~CSocketDelegate_Client();

virtual void SetConnectIP(char* IP);
virtual void SetConnectPort(DWORD Port);

virtual void TryConnect();
virtual int  GetSokcetState();

virtual void OnSocketConnectSuccess();
virtual void OnSocketConnectFailed();
virtual void OnSocketDisConnect();

virtual void OnSocketReceive(CSocketBuffer* _Buffer,WORD MainCmdID,WORD SubCmdID);
virtual void SendData(char* SendBuffer, DWORD SendBufferSize);

private:
CSocket_C m_CSocket;
};
可是却要导出相关的成员类以及其他各种dll内部实现需要用到的类,而这些类在逻辑层是不需要用的。
有什么方法可以只导出此类不导出其他类。另外还有一点dll放在其他程序中使用方法是继承于CSocketDelegate_Client重写部分方法来使用了。我试过使用接口不能说是找不到CSocketDelegate_Client。
------解决思路----------------------
使用接口是最好的,如果使用者需要继承你导出的接口,那是他们的事情。

如果你需要直接导出类也可以。直接使用 __declspec( dllexport) 修饰该类。