首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在类的.cpp文件中定义静态数组

如何在类的.cpp文件中定义静态数组
EN

Stack Overflow用户
提问于 2014-09-05 15:08:05
回答 2查看 254关注 0票数 0

我知道有很多关于静态函数和变量的问题,但是我找不到一个问题来解释我是如何做到这样的:

board.h

代码语言:javascript
运行
复制
 class board:public QGraphicsPixmapItem 
{
public:
    board();
    static basedice *gamepos[8][8];
};

我想像这样定义我的数组:

board.cpp

代码语言:javascript
运行
复制
board::board()
{
    for (int i=0;i<8;i++)
    {
        for (int j=0;j<8;j++)
        {
        gamepos[i][j]=NULL;
        }
    }

}

我还有一个问题,那就是在很多类中使用数组的正确方法--比如全局数组.比如在棋类游戏中我的棋子位置?对不起我的英语不好。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-05 15:34:47

如果您真的希望gamepos数组是静态的,您可以在类板中声明一个静态方法来初始化该数组。

然后从类外部调用此方法。

代码语言:javascript
运行
复制
int main() {

    Board * myboard = new Board();
    Board::initGamepos();

}

但是,看看您的代码和您想要做的事情(每次创建一个新的Board实例时都会重新初始化gamepos数组,很明显,您不希望游戏是静态的。1板<=> 1游戏数组:这不是静态成员的标记,而是标准成员的标记。

票数 1
EN

Stack Overflow用户

发布于 2014-09-05 15:10:52

静态变量自动初始化为零/false/null,因此不需要初始化数组。

无论如何,您不应该从实例构造函数中重新初始化静态变量,因为这样会产生有趣的结果。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25688925

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档