程序控制:菜单可选子程序

时间:2014-04-17 18:57:36

标签: c++ oop

可能是一个糟糕的头衔,我不知道怎么说出来。

我有一个面向对象设计类(C ++)的最终项目,任务是创建一个包含4个独立游戏的赌场计划。这是一个多人项目,所以我希望使用一个不需要由设计游戏类的每个人编辑的主文件。因此,例如,'main'文件将包含一个菜单,并提示您要播放哪个游戏。从那里,它将使用switch语句将控制转移到该游戏。

但是你会怎么做?这种想法有意义吗?

对于SlotMachine.play(),在对象内部发送控件是否有意义?

// Pseudo code

void launchSlotMachine() 
{
    SlotMachine SlotMachine;
    SlotMachine.play();
}

int main() 
{
    int menuSelect = 0;

    cout << "1. Slot Machine << endl;
    // ... 

    cin >> menuSelect;

    switch(menuSelect)
    {
        case 1:
            launchSlotMachine();
            break;
    }
}

2 个答案:

答案 0 :(得分:1)

一般的想法是将不同的游戏实现为具有运行功能的类。然后,您将使用switch语句控制它们。所以,对于类似的项目,你所做的是一般方法。

答案 1 :(得分:0)

另一种方法是使用查找表或带有函数指针的std :: map。

您的记录为<game name, pointer to game function>。当找到包含游戏名称的记录时,您可以使用函数指针来激活名称。

StackOverflow中有很多例子,搜索&#34; C ++调度表函数指针&#34;。