extern全局声明

在c/c++中一个文件调用另外一个文件的全部变量时,需在当前文件里再次声明该变量,且可以再次赋值(注:再次赋值不是在声明里面)

CTest.h

#pragma once
#include <iostream>

int INT = 90;
template <typename T1, class T2>
class CTest
{
public:
	CTest();
	~CTest();
	void PrintShow();
};

template <typename T1, class T2>
inline CTest<T1, T2>::CTest()
{

}

template<typename T1, class T2>
inline CTest<T1, T2>::~CTest()
{
}


template<typename T1, class T2>
inline void CTest<T1, T2>::PrintShow()
{
	T1 x = 4;
	T2 y = 9.9;
	cout << "x:" << x << endl;
	cout << "y:" << y << endl;
}

Main.h

#include <iostream>
#include "CTest.h"
#include "stdio.h"

using namespace std;

#pragma warning( push, 1)

extern int INT;
int main()
{
	CTest<int, int>  ct;
	INT = 322;
	cout << INT << endl;
}

猜你喜欢

转载自blog.csdn.net/omodao1/article/details/80666670