首先,這是一個普遍的問題如何從另一個.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