问题如下:
程序要实现两中功能,开始的是我,我是一个工程实现一个功能,每个功能都是包含在一个类里面。类中用了很多全局变量,我把这些全局变量都放在一个.h文件中。
现在我想将两个功能和到一个工程里面去,(两个类中有很多定义一样的头文件),编译的时候提示我有很多变量重复定义。我不知道这个包含全局变量的头文件应该怎么写才能满足两个类共同调用它!
请指教!!!!
程序要实现两中功能,开始的是我,我是一个工程实现一个功能,每个功能都是包含在一个类里面。类中用了很多全局变量,我把这些全局变量都放在一个.h文件中。
现在我想将两个功能和到一个工程里面去,(两个类中有很多定义一样的头文件),编译的时候提示我有很多变量重复定义。我不知道这个包含全局变量的头文件应该怎么写才能满足两个类共同调用它!
请指教!!!!
你是怎么解决的A阿?
并只在一个.cpp文件中定义它。
例如有两个文件 1.h、2.h ,每个头文件中都有 extern int intger; 这行代码。
而 main.cpp 有这样一行代码: int intger = 66;
那么包含这两个头文件其中一个的.cpp都可以使用 int intger 变量。关键字 extern 的意思可以理解为该变量将在其它文件中使用。
如果该变量是类的成员变量,你可以用 friend 关键字修饰试一试。
为什么不这样做?
头文件本身就不是编译单元啊~~
如果你在两个.cpp 中同时导入了一个含有变量定义的头文件,就相当于在一个程序中重复定义了两次。