C/C++ 跨文件共享全局变量

目录

效果

项目

代码 

下载


为了实现跨文件共享全局变量,我们可以使用 extern 关键字。extern 关键字用于声明一个变量,该变量在其他地方已经定义。它告诉编译器这个变量在其他文件中已经定义了,不需要重新分配内存空间,只需要引用即可。

效果

C/C++ 跨文件共享全局变量_第1张图片

项目

C/C++ 跨文件共享全局变量_第2张图片

代码 

Common.h

#pragma once

#include 

using namespace std;

struct para {

	bool  state;
	int   num;
	string name;
};

//声明全局变量
extern  para  g_static_para;

Common.cpp

#pragma once
#include "Common.h"

//定义全局变量
para  g_static_para;

init_class.h

#pragma once

#include 
#include "Common.h"

using namespace std;

class init_class
{

public:

	void init();

};

init_class.cpp

#include "init_class.h"
#include "Common.h"


void init_class::init()
{
	cout << "参数初始化 全局变量 g_static_para" << endl;
	g_static_para.state = true;
	g_static_para.num = 20;
	g_static_para.name = "测试信息2";
}

use_class.h

#pragma once

#include 
#include "Common.h"

using namespace std;

class use_class
{

public:

	void print();

};

use_class.cpp

#include "use_class.h"

void use_class::print() {

	cout << "打印参数 全局变量 g_static_para" << endl;
	cout << "g_static_para.state:" << g_static_para.state << endl;
	cout << "g_static_para.num:" << g_static_para.num << endl;
	cout << "g_static_para.name:" << g_static_para.name << endl;
}

ConsoleApplication1-test.cpp

#pragma once
#include 
#include "Common.h"
#include "init_class.h"
#include "use_class.h"

using namespace std;

int main()
{
	std::cout << "Hello World!\n";

	init_class ic;
	use_class uc;

	std::cout << "----------------------\n";
	g_static_para.state = false;
	g_static_para.num = 10;
	g_static_para.name = "测试信息1";
	uc.print();

	std::cout << "----------------------\n";
	ic.init();
	std::cout << "----------------------\n";
	uc.print();
}

下载

Demo下载

你可能感兴趣的:(C++,c++,开发语言)