extern 申明变量在其他文件中定义了。如果变量放在*.h头文件,其它cpp文件加载*.h头文件就会出现变量定义重复。
头文件 DHeah.h
#include <iostream> using namespace std; void add(); void mul();
文件 Dine.cpp
int num = 3;
文件 A.cpp
extern int num; void add(){ num += num; }
文件B.cpp
extern int num; void mul(){ num *= num; }
文件Main.cpp
#include "DHead.h" extern int num; int main(){ cout << num << endl; add(); cout << num << endl; mul(); cout << num << endl; return 0; }
运行程序显示