const char* getDrawingItemState(int argc, char **argv, void* creator)
{
ITEM_STATE state;
commonData *pCommonDataProvider = (commonData*) creator;
state = pCommonDataProvider->getDisplay()->getDrawingItemState();
char *tmp;
switch (state)
{
case ITEM_STATE_FOCUS:
tmp = "focus";
break;
case ITEM_STATE_UNFOCUS:
tmp = "unfocus";
break;
case ITEM_STATE_INACTIVE:
tmp = "inactive";
break;
default:
tmp = NULL;
}
return createReturnString(tmp);
}
实际调用是这样:state = getDrawingItemState();
问:这个函数中creaor参数是做什么的?这个参数有什么作用?没有这个参数会有什么问题?
commonData是一个类,类的声明中也没有creator这个成员;
pCommonDataProvider->getDisplay()是commonData类中调用另一个类(设为B)的指针,该指针是commonData的一个成员,然后调用的是B类的函数->getDrawingItemState();
为什么这里getDrawingItemState实际调用没有参数,而定义却有三个参数?
为什么这里getDrawingItemState实际调用没有参数,而定义却有三个参数?
C++中的函数可以有默认参数。