C ++ / Qt如何声明和初始化全局对象数组

时间:2013-08-29 14:11:38

标签: c++ qt initialization global-variables declare

如何使它成为全局对象数组,如QPoint point [5] [6];

global.h

#include <QPoint>
extern QPoint point[5][6];//Am I correct?

global.cpp

#include <global.h> // How to initialize???

的main.cpp

#include <global.h>
use them;

1 个答案:

答案 0 :(得分:3)

全球是邪恶的。唉,惯用的方法是:

  1. 在头文件中声明全局变量extern。
  2. 一个源文件中定义变量(不再有)。在标题中包含声明以确保定义正确。
  3. 在任意数量的源文件中使用该变量;包括标题中的声明。
  4. global.h

    #ifndef BENHUAN_GLOBAL_H_INCLUDED
    #define BENHUAN_GLOBAL_H_INCLUDED
    #include <QPoint>
    extern QPoint point[5][6]; // declaration
    #endif
    

    global.cpp

    #include "global.h'
    QPoint point[5][6]; // definition
    

    main.cpp

    #include "global.h"
    
    ...
       point[1][2] = QPoint(5,6);