extern 在不同的文件使用同一个参数

涉及到三个文件, 一个头文件和两个cpp文件:

数据生成头文件:                A.h

数据生成 cpp 文件:           A.cpp

数据使用 cpp 文件:           B.cpp

1. 在数据生成头文件使用 extern 声明参数,放在类外声明

#pragma once

#include 

//在类外声明
extern int sFlag;

class IsThread  : public QObject
{
	Q_OBJECT

public:
	IsThread(QObject *parent);	
	~IsThread();
};

2. 在数据生成cpp文件定义

#include 

//在最外部定义
int sFlag = 1;

IsThread::IsThread(QObject *parent)
	: QObject(parent)
{
	qDebug() << "IsThread start... ... ";
}

IsThread::~IsThread()
{

}

3. 在数据使用cpp文件中, 使用 extern 声明

#include "QtThreadMoveToThread.h"

extern int sFlag;

QtThreadMoveToThread::QtThreadMoveToThread(QWidget *parent)
    : QWidget(parent)
{
    ui.setupUi(this);

    ui.lineEdit_messageA->setText(QString::number(sFlag));
}

QtThreadMoveToThread::~QtThreadMoveToThread()
{}

你可能感兴趣的:(c++,qt)