中国开发网: 论坛: 程序员情感CBD: 贴子 218163
老玉米
靠,想封装一个接口,但是很多函数参数在不同实现可能不一样。结果写成了这样,感觉也不是很好,欢迎拍砖
typedef ULONG RESULT_CLR;

#define SUCCESS_CLR 0

typedef char CHAR_CLR;
typedef CHAR_CLR* PCHAR_CLR;

typedef struct _tag_parameter_clr_
{
void* Value;
ULONG Length;
} PARAM_CLR;

typedef struct _tag_parameters_clr_
{
ULONG ParamC;
PARAM_CLR * ParamV;
} PARAMS_CLR;

class FuncTimer
{
protected:
static FuncTimer * Timer;
public:
virtual RESULT_CLR Init(PARAMS_CLR * params) = 0;
virtual RESULT_CLR FuncEnter(PARAMS_CLR * params) =0;
virtual RESULT_CLR FuncLeave() =0;
virtual RESULT_CLR UnInit() = 0;
};


class ArmFuncTimer:public FuncTimer
{
protected:
ArmFuncTimer(){}

public:
virtual ~ArmFuncTimer(){}

RESULT_CLR Init(PARAMS_CLR * params);
RESULT_CLR FuncEnter(PARAMS_CLR * params);
RESULT_CLR FuncLeave();
RESULT_CLR UnInit();
static FuncTimer* getInstance();
};

#define ARMFT ArmFuncTimer::getInstance();
民主不同于专制,不需要强加于人。--- 賴斯

大道之行也,天下为公,选贤与能,讲信修睦。故人不独亲其亲,不独子其子,使老有所终,壮有所用,幼有所长,矜、寡、孤、独、废疾者,皆有所养。男有分,女有归。货恶其弃於地也,不必藏於己;力恶其不出於身也,不必为己。是故,谋闭而不兴,盗窃乱贼而不作,故外户而不闭,是谓大同。--《礼运·大同篇》

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录