C++一个函数如何调用另一个参数不同的函数

void buttonFunc(CCObject* pSender, TouchEventType tType)

{
if(tType == TOUCH_EVENT_ENDED)

{
//cclog("i am a button event");
}
}
void checkBoxFunc(CCObject* pSender, CheckBoxEventType cType)
{
//如何调用buttonFunc??

}

一个事件函数调用另一个事件函数?这种设计大有问题,如果做正式项目会造成业务逻辑混乱。

你的目的是什么?是点了checkbox按钮后自动去点button?

如果是这样,设计思路是不对的,你这个是在模拟人机交互。

 

正确的思路是写一个按下按钮时需要执行的独立处理函数,然后两个事件都调用它。

下面是伪代码:

//按钮事件
void buttonFunc(CCObject* pSender, TouchEventType tType)

{
   ButtonClickProcess( tType == TOUCH_EVENT_ENDED);
}
//勾选事件
void checkBoxFunc(CCObject* pSender, CheckBoxEventType cType)
{
    ButtonClickProcess(true);


}
//按钮点击处理函数
void private ButtonClickProcess(bool isClick)
{
    if(isClick)
    {
     //cclog("i am a button event");
     //其他处理代码
     }
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-03-24
这是 cocos2d ??满满的即视感啊
函数调用都不会么 ?直接填写函数名称和函数参数就可以了追问

是cocos2d-x,一个是按钮事件,一个是复选框事件。参数类型不同,调用不了啊

追答

没有规定要你用 checkBoxFunc 的参数来填写 buttonFunc 啊 ...
参数是自己设定的,不是硬性规定的
sender 就是你自己,也就是事件的触发者
cType 就是事件类型,你要触发什么事件,就填写什么参数
参考一下各种 demo 和官方 sample 看看

追问

你可以把下面的补充完全吗?如何用复选框事件调用按钮事件?我的C++基础弱,真的不知所措了。。。

相似回答