回答
在C++「全局函數」應當以cpp文件來限定,並且在.h文件中聲明。
例如
Sum.h:
int Sum(int a, int b); // declaration (prototype)
Sum.cpp:
int Sum(int a, int b) // definition
{
return a + b;
}
現在,如果你想使用其他.cpp文件Sum函數只需添加#include "Sum.h"
和使用該功能。
AnotherModule.cpp:
#include "Sum.h"
void MyOtherFunction()
{
int var = Sum(3,4);
}
謝謝你的回答!對不起,但我會試着更清楚我的問題。提到的語法是全局函數的聲明,但我不知道它應該在哪裏以及何時使用 - 我的意思是這個特定的語法。提前致謝!! – user2089947 2013-02-20 17:48:44
一個全局函數(在C++)是一個函數,它是在代碼任何地方訪問。這是C編程語言的傳統。對於以java這樣的語言開始的人來說,它可能看起來很奇怪,因爲它不在類中,但它有點像公共靜態方法,因爲你不需要任何對象來調用它。
所以,你可以在任何地方使用這個函數......(只是爲了確保它已經在之前聲明過(參見注釋),就像在頭文件中一樣)。最好將它們放在名稱空間中以避免與其他庫的名稱衝突並組織代碼但C++允許在全局範圍內聲明它。
你可以在與任何對象沒有關係的情況下使用它,或者它只是在聲明它的文件中使用的函數......例如,如果你希望初始化爲主或者操作你不想投入課堂等等 沒有嚴格的規則......這是最讓你感覺的;)
注意: 「聲明」=你告訴編譯器一個函數int Sum (Class_name h)
存在,所以他不會侮辱你「你的功能還沒有被宣佈」
「定義」=你代碼你的功能。它需要告訴編譯這個功能做例子: int sum(Class h){ return h.a + h.b; }
您需要定義你的函數(不是「#定義」在這裏;))一次在.C/cpp和。在使用的聲明。 h使用它(除非你正在編輯.cpp所在的功能被定義,在這種情況下這個功能需要在上面)
您是否意味着程序中任何位置的函數的作用域,這就是爲什麼「很像靜態方法」? – Subhajit 2013-02-20 17:51:26
我說「很少像靜態方法」,因爲你不需要任何卑鄙的手段來稱呼它。我將添加「像PUBLIC靜態方法」,因爲它實際上更多,因爲這些函數可以在任何地方調用,就像我所說的那樣。當程序員不想將它與類或名稱空間相關聯時,它通常在全局範圍內,但最好是組織代碼,因此我建議您在最終代碼中避免這種情況,並將其放入命名空間中。 (http://www.cplusplus.com/doc/tutorial/namespaces/瞭解更多信息) – 2013-02-20 18:13:51
- 1. 如何使用C++將函數聲明爲全局函數?
- 2. C++全局對象聲明
- 3. 全局函數的手寫體聲明
- 4. CoffeeScript聲明並使用全局函數
- 5. Mex C++類函數聲明
- 6. 聲明和使用全局數組c#
- 7. 用一個類聲明方法調用一個全局函數,聲明相同
- 8. 常量聲明全局函數或聲明函數內部的區別
- 9. 聲明一個函數內部的全局對象(C++)
- 10. 如何聲明使用c#的全局函數或方法?
- 11. PHP全局聲明
- 12. Javascript數組不全空聲明全局
- 13. C++函數聲明
- 14. 在C中聲明全局工會
- 15. 在Python中聲明全局變量類
- 16. 聲明函數的類型爲struct C++
- 17. 在C++類中重新聲明函數
- 18. Python類正在更改全局變量而未聲明全局
- 19. 聲明全局表格
- 20. 已聲明全局屬性
- 21. Python和全局聲明
- 22. 聲明全局變量
- 23. 聲明全局uiimages的NSMutablearray
- 24. 全局變量聲明
- 25. 乳膠全局聲明
- 26. 如何從全局函數聲明一個數組?
- 27. C++類成員指針全局函數
- 28. 聲明由所有類訪問的全局變量C++
- 29. 在PHP中聲明全局數組
- 30. 在awk中全局聲明數組
你在教室裏被問到這個問題嗎? – Kitet 2013-02-20 17:39:03
這是您可以在程序的全局範圍內訪問的類/函數。 – andre 2013-02-20 17:41:15
@Kitet如果我是提問者,我現在已經放棄了... – filmor 2013-02-20 17:41:53