test.cpp
#include "aa.h"
bool isrunning = true; //定义全局变量
int main()
{
Aa aa;
aa.speak();
return 0;
}
aa.h
#pragma once
extern bool isrunning; //声明已定义过的全局变量
class Aa
{
public:
void speak();
};
aa.cpp
#include "aa.h"
#include <iostream>
void Aa::speak()
{
std::cout << "ni hao: " << std::boolalpha << isrunning << std::endl; //使用全局变量
}
编译:g++ test.cpp aa.cpp
执行:./a.out
结果:ni hao: true
结论:CPP中定义,.h中extern声明