gpt4 book ai didi

c++ - 如果类中没有保持类状态的变量,函数应该声明为静态函数?

转载 作者:太空宇宙 更新时间:2023-11-04 15:14:21 25 4
gpt4 key购买 nike

我给出以下代码来说明我的问题:

class Abc
{
public:
void do_something() {};

};

class Def
{
public:
static void do_something() {};

};

AbcDef 都没有变量来保持类的状态。在这种情况下,哪种定义函数 do_something 的方式更好?将其作为静态函数更好?

最佳答案

不,你完全错了。是否有任何实例变量保持状态是您在界面设计中不应该关心的实现细节。

如果方法适用于类而不是类的实例,则使用静态方法(在其他地方称为“类方法”,这是一个更好的词)。如果要创建作为类实例的对象,则可以使用实例方法。

由于您甚至没有提到您应该使用的标准,所以没有人能告诉您什么对您的情况更好。另一方面,如果你在谈论“类的状态”(这是人们不常谈论的事情),这似乎表明你应该使用类方法或单例。

关于c++ - 如果类中没有保持类状态的变量,函数应该声明为静态函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38737408/

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