2014-10-19 51 views
-4

我面對這種類型的函數:誤解這個函數在課堂上的用法?

class Menu: public Activity 
{ 
private: 

    // something defined here 

public: 
    Menu(); 
    ~Menu(); 

    // something defined here 
} 

我學習C++和無法理解的是如何「〜菜單()」函數的工作?我們什麼時候需要這個功能?這與超載功能有關嗎?任何人都可以解釋我?謝謝。

+7

讀一本書。每本基本書都涵蓋了析構函數。 – chris 2014-10-19 21:02:40

+6

這是基本的東西,最好通過一本書來學習。 – 2014-10-19 21:05:39

+0

請參閱[The Definitive C++ Book Guide and List](http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list) – 2014-10-19 21:15:49

回答

1

該函數是析構函數。當物體超出範圍時,它會處理您想要執行的任何清理操作。

Menu(); // Constructor 
~Menu(); // Destructor 

根據類是如何微不足道的是,你甚至可能需要定義一個構造函數和析構函數,因爲編譯器會生成它們。當然,有很多例子需要你做一些特定的工作,所以你可以根據需要定義它們。