转:https://blog.csdn.net/caoshangpa/article/details/51104022

一、使用extern关键字

cglobal.h

  1. #ifndef CGLOBAL_H
  2. #define CGLOBAL_H
  3. extern int testValue;
  4. #endif // CGLOBAL_H

cglobal.cpp

  1. #include "cglobal.h"
  2. int testValue=1;

调用方式

  1. #include "cglobal.h"
  2. #include <QDebug>
  3. qDebug()<<testValue;
  4. testValue=2;
  5. qDebug()<<testValue;

二、使用static关键字

cglobal.h

  1. #ifndef CGLOBAL_H
  2. #define CGLOBAL_H
  3. class CGlobal
  4. {
  5. public:
  6. CGlobal();
  7. ~CGlobal();
  8. public:
  9. static int testValue;
  10. };
  11. #endif // CGLOBAL_H

cglobal.cpp

  1. #include "cglobal.h"
  2. CGlobal::CGlobal()
  3. {
  4. }
  5. CGlobal::~CGlobal()
  6. {
  7. }
  8. int CGlobal::testValue=1;

调用方式

  1. #include "cglobal.h"
  2. #include <QDebug>
  3. qDebug()<<CGlobal::testValue;
  4. CGlobal::testValue=2;
  5. qDebug()<<CGlobal::testValue;

建议使用第二种方式

05-11 15:20