C++宏与类

来源:互联网 发布:excel vba编程 编辑:程序博客网 时间:2024/05/22 07:09
struct ServiceFactory {    virtual ~ServiceFactory() {}    virtual Service * CreateService() const = 0;    virtual const char* GetName() const = 0;    virtual int GetCmdId() const = 0;};//宏定义#define SERVICE_FACTORY(ServiceClass) ServiceClass##Factory#define SERVICE_ENTRY_DECLARE(ServiceClass) \        class SERVICE_FACTORY(ServiceClass) : public ServiceFactory { \            Service * CreateService() const; \            const char* GetName() const; \            int GetCmdId() const; \        };#define SERVICE_ENTRY(ServiceClass, ServiceName, CmdId) \        SERVICE_ENTRY_DECLARE(ServiceClass) \        Service * SERVICE_FACTORY(ServiceClass)::CreateService() const \        { return new ServiceClass(); } \        const char* SERVICE_FACTORY(ServiceClass)::GetName() const { return ServiceName; } \        int SERVICE_FACTORY(ServiceClass)::GetCmdId() const { return CmdId; }



0 0
原创粉丝点击