我有一组必须一个接一个地运行的函数调用 这是我的代码,所以我没有提前计划,任何方式我有一些必须一个接一个地运行的功能,如果不是代码将被打破。 我也不想在函数内部设置函数,这样当第一个函数结束时它将调用第二个函数。 有没有更好的方法? 我顺便使用c ++。
void ButtomPanelObj::onEnter()
{
Sprite::onEnter(); // func 1 must be first
createSpinButton(); // func 2 must be after 1
createPayLinesLable(); // func 3 must be after 2
createBetLable(); // func 4 must be after 3
createTotalBetLable(); // func 5 must be after 4
setWidgetsPosition(); // must be last func
}
答案 0 :(得分:1)
您可以封装这些功能。如果必须按顺序调用它们并且一直调用它们,则它们不应单独访问。它可能是这样的:
class ButtomPanelObj{
private:
void createSpinButton();
void createPayLinesLable();
void createBetLable();
void createTotalBetLable();
void setWidgetsPosition();
public:
void createStuff() {
Sprite::onEnter(); // func 1 must be first
createSpinButton(); // func 2 must be after 1
createPayLinesLable(); // func 3 must be after 2
createBetLable(); // func 4 must be after 3
createTotalBetLable(); // func 5 must be after 4
setWidgetsPosition(); // must be last func
}
}
现在您只能从外部拨打createStuff()
,这可以保证您需要的功能顺序。