一、CC_SYNTHESIZE(varType, varName, funName)這個宏是用來定義變量varName,其類型爲varType,並生成其get/set方法,分別爲:
getfunName() 和 setfunName(varType var) 。
用法參考:
- #include <iostream>
- using namespace std;
-
- #define CC_SYNTHESIZE(varType, varName, funName)\
- protected: varType varName;\
- public: virtual varType get##funName(void) const { return varName; }\
- public: virtual void set##funName(varType var){ varName = var; }
-
- class plane
- {
- CC_SYNTHESIZE(int, hp, Hp)
- };
-
- int main()
- {
- plane *p = new plane;
- p->setHp(1);
- int result = p->getHp();
- }
二、CC_SYNTHESIZE_READONLY(varType, varName, funName)聲明一個成員變量以及getfunName函數,沒有set函數。getfunName已經實現,其實現就是返回這個值。
CC_SYNTHESIZE_READONLY(cocos2d::CCLabelTTF*,_label,Label);
this->getLabel();//返回 _label 。