為MFC應用程式新增析構函式

2021-05-21 17:53:46 字數 559 閱讀 5460

mfc編寫的智慧型裝置應用程式,有些自己建立的gdi資源需要釋放,以免造成記憶體洩露。這樣有些**想放到主對話方塊的析構函式中。這時會發現找不到主對話方塊的析構函式,只能看到建構函式。

這就需要自己來為主對話方塊新增析構函式。 如:

標頭檔案中新增:virtual ~cconfontchdlg();

一定要加上virtual關鍵字,否則在主視窗銷毀時,將不會呼叫我們自己建立的析構函式。

原始檔中,在建構函式下面新增:

cconfontchdlg::~cconfontchdlg()

這樣就可以在析構函式中,新增我們想新增的**了。

至於我們的主對話方塊在銷毀的時候,是否真正的呼叫了我們自己新增的析構函式。我們可以做一下測試。如:

cconfontchdlg::~cconfontchdlg()

然後除錯執行**,在vs2005整合開發環境中,開啟輸出視窗。這樣在主對話方塊銷毀的時候,呼叫我們自己新增的析構函式,執行trace(l"hello");,將會在輸出視窗中看到列印了hello。說明我們這樣新增析構函式是正確的。

朱銘雷

為應用程式新增快取

1.背景 由於專案進度趕得比較緊,而且第一次自己設計系統的架構,剛開始考慮的並不完全,主要想著先把系統的功能實現了再說。因此剛開始設計系統的時候並沒有考慮快取的問題,但是對已乙個web系統,快取不僅可以大大的減少資料庫的壓力,也可以很大程度的提高系統的響應時間。現在系統的功能完成的基本差不多了,因此...

為MFC應用程式新增全螢幕顯示功能

在cmainframe類中新增下列成員變數和成員函式 使用classwizard 下面是這些變數和函式的功能說明 成員變數 bool m bfullscreen 全螢幕顯示標誌 crect m fullscreenwindowrect 全螢幕顯示視窗rect windowplacement m wp...

析構函式定義為虛函式

析構函式執行時先呼叫派生類的析構函式,其次才呼叫基類的析構函式。如果析構函式不是虛函式,而程式執行時又要通過基類的指標去銷毀派生類的動態物件,那麼用delete銷毀物件時,只呼叫了基類的析構函式,未呼叫派生類的析構函式。這樣會造成銷毀物件不完全。include include class cpers...