gpt4 book ai didi

c++ - 类中的常量?

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

您好,我试图在一个类中定义一个常量,以正常或通常的方式进行操作似乎行不通

class cat
{
public:

cat();
~cat();


private:

static const int MAX_VALUE = -99999;
int Number;


public:

void OrganizeNumbers();
void SetNumbers();

};

所以我在做一些研究后找到的解决方案是将其声明为 static 但这意味着什么,而且我想问一下声明一个常量真的有必要,因为正如你所看到的是私有(private)的吧?我的意思是它只能通过类方法访问,所以为什么要设置一个常量而且我还读到使用 static 只允许你使用整数类型所以它实际上是一个缺点......如果你在想制作游戏。

最佳答案

static 表示该成员将在您的对象的所有实例之间共享。

如果您希望在不同的实例中能够拥有一个 const 成员的不同值,您将需要使用一个初始化列表来在您的构造函数中设置它的值。

请看下面的例子:

#include <string>

struct Person {
Person (std::string const& n)
: name (n)
{
// doing: 'name = n' here is invalid
}

std::string const name;
};


int main (int argc, char *argv[]) {
Person a ("Santa Claus");
Person b ("Bunny the Rabbit");
}

进一步阅读

关于c++ - 类中的常量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8622088/

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