当代码在其他地方使用时,如何保证函数一个接一个地被调用

how to guarantee that functions will be invoke one after another when your code used else where?

本文关键字:一个 调用 函数 何保证 其他 代码 方使用      更新时间:2023-10-16

我有一组函数调用必须一个接一个地运行这是我的代码,所以我没有提前计划太多,无论如何,我有几个函数必须一个接一个地运行,如果不是代码将被打破。我也不想在函数内部设置函数,这样当第一个函数结束时,它会调用第二个。有更好的办法吗?顺便说一下,我正在使用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  

} 

可以封装函数。如果必须按顺序调用它们,并且一直调用它们,则不应该单独访问它们。可以是这样的:

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(),这保证了您需要的函数顺序。