2013-08-28 15 views
0

這是一個初學者問題。我很確定很多人有這個疑問,但我仍然沒有找到清楚自己的想法的東西,也許我正在尋找錯誤的方向或觀念。問題是,我可以使用兩種代碼:C++中的方法和成員有什麼區別?

sf::Clock clock; 
    clock.getElapsedTime(); 

    sf::Clock getElapsedTime(); 

兩者都可以通過IDE接受,但我無法真正瞭解其差異。由於我已經編程了其他語言,我知道clock.getElapsedTime();會在應用程序打開時返回時間,但sf::Clock getElapsedTime();究竟做了什麼?

由於事先

+4

這需要[書](http://stackoverflow.com/q/388242/1168156) – LihO

+3

你在這裏混用習語。如果你做OO,對象有「方法」和「屬性」。在C++中,類具有「成員函數」或「成員數據」的「成員」。 –

回答

5

首先調用一個成員函數getElapsedTime通過命名clock而對象,
第二剛聲明通過名稱getElapsedTime非成員(免費)函數返回類型的對象sf::Clock並且不帶任何參數。

良好閱讀:
What is a function declaration?

1
 sf::Clock getElapsedTime(); 

聲明的函數getElapsedTime()返回一個sf::Clock對象。儘管如此,你需要(或者其他人)在其他地方定義這個函數。 「

2

sf::Clock getElapsedTime();究竟做了什麼?

它聲明瞭名爲getElapsedTime的函數,它不接受任何參數並返回sf::Clock類型的值(一個對象)。

相關問題