首先,这是一个普遍的问题如何从另一个.cpp源文件调用main.cpp中定义的方法?
第二:我想到了它,因为现在它在我的一个项目中使事情变得复杂。别担心,我有一个解决方法,但我仍然想知道是否有其他解决方法。
进入问题:
我有我的main.cpp。我定义了一些方法和功能。我还有一些其他功能和其他功能的文件,但现在我需要一个可以在main.cpp中定义的临时变量的函数。 如何扩展这样一个变量的范围,以便我可以在其他文件中使用它?
从类,我知道字段可以是私人或公共。但是这个变量呢?它是私人的吗?上市?别的东西?我可以为这个变量创建一个getter/setter吗?我甚至不能包括其他的main.cpp中,因为这将是递归的,我不得不主要定义无限次,然后....)
的主要问题是:
如何访问在我的main.cpp中另一个文件中定义的变量?
一些示例代码:
在main.cpp中:
int var = 0;
int getVar() {
return var;
}
void doVar() {
// sth happens with var
}
int main() {
MyObject myObj;
doVar();
}
在MyObject.cpp
:
class MyObject {
void DoSth(){
// NEEDS var from main.cpp, to do sth with it!
// getVar() doesn't work!
// doVar() doesn't work either!
}
}
原谅我,如果这是一个以前问过的或真正愚蠢的问题,但我真的很想知道这个
我的解决方法是我做了doVar和var与MyObject的成员(即现在它的全部在同一个文件MyObject.cpp中),但这是唯一的方法吗?
为什么downvote?你介意至少解释一下吗? – blueBurningCoder 2015-03-02 19:00:20
我想你可以在MyObject.cpp中编写'extern int var;'并且如果你真的想要一个全局的,那么也可以这样做,但也许有更好的解决方案。我不清楚你想要达到什么目的。 (downvote不是我的,我不参与!) – tux3 2015-03-02 19:00:56
它会做什么?我只是搜索了一些类似“静态”的东西,是吗?所以有什么区别? – blueBurningCoder 2015-03-02 19:07:29