gpt4 book ai didi

C++如何使用less条件语句?

转载 作者:行者123 更新时间:2023-11-30 01:16:10 25 4
gpt4 key购买 nike

我的任务是存储用户登录信息。我正在接受一个字符串,这是命令。该命令可以是创建、登录、删除等。总共有 10 个选项,即可能有 10 个不同的字符串。任何人都可以解释一种更有效的方式来编写这个而不是 10 个 if 和 else if 语句吗?基本上,除了使用一堆 if (string == "one")else if (string == "two") 之外,我应该如何格式化/构造事物。谢谢

最佳答案

我希望您的讲师希望您将函数提取到另一个可重用函数:

string action;
command = CreateAction(action);
command.Do(...);

当然,在您的 CreateAction 类中,您仍然需要确定需要创建哪些命令的条件。

AbstractCommand CreateAction(action)
{
if (action == "login")
return LoginCommand();
else if (action == "remove")
return RemoveCommand();
..... etc etc
}

如果你真的想摆脱所有的条件,你可以创建一些自注册命令,但这涉及更多的代码和类……

你应该查找像 Command Pattern 这样的东西和 Factory Pattern

关于C++如何使用less条件语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27139247/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com