c++學習筆記之實現控制代碼類
寒假看了c++沉思錄和c++程式語言,一直對類的功能分類相關章節記憶猶新,感到這些都是c++ oop思想的精髓。
昨天突然想到為什麼不實踐一下,寫乙個簡單的控制代碼類呢?
c++初學者可能不知道控制代碼類為何物。其實說白了,控制代碼類就是為了消除來自同乙個基類的派生類的操作差異性而建立的乙個中間層,它管理了這些派生類的指標,消除了各種派生類建立和使用的不一致性。
我為了建立控制代碼類,首先要找乙個適合並且容易用oop實現的東西,後來就想到了gui,於是我就設計了乙個按鈕的類族,建立了三個簡單的類,分別為button類,commandbutton類,imagebutton類。button類是所有按鈕類的基類,而commandbutton和imagebutton都繼承自button類。這些類的關係如下圖所示:
button
|-commandbutton
-imagebutton
其中button類的介面和實現在button.h中。
commandbutton類的介面和實現在cmdbtn.h中。
imagebutton類的介面和實現在imgbtn.h中。
然後呢,我就設計了乙個叫做buttonhandle的類,顧名思義,也就是button的控制代碼類了。
buttonhandle的介面在btnhandle.h中,實現在btnhandle.cpp中。
程式使用 g++ 4 在 slackware linux 13 下編譯通過,還使用 mingw g++ 3.4.5 在 windows 7 下編譯通過。
廢話不說了,直接貼**。
button.h
cmdbtn.h
imgbtn.h
btnhandle.h
btnhandle.cpp
main.cpp(測試程式)
C 學習筆記之實現控制代碼類
c 初學者可能不知道控制代碼類為何物。其實說白了,控制代碼類就是為了消除來自同乙個基類的派生類的操作差異性而建立的乙個中間層,它管理了這些派生類的指標,消除了各種派生類建立和使用的不一致性。我為了建立控制代碼類,首先要找乙個適合並且容易用oop實現的東西,後來就想到了gui,於是我就設計了乙個按鈕的...
控制代碼類(handle class (一)
問題 對於某些類來說,能夠避免複製其物件是很有好處的。因為有可能物件太大,複製起來消耗太大。也有可能每個物件代表一種不能被輕易複製的資源,譬如檔案等等情況。需要有一種方法,讓我們在避免某些缺點 缺乏安全性 的同時能夠獲取指標的某些優點。尤其是在保持多型性的前提下,避免複製物件的代價,因此我們引入控制...
C 中的控制代碼類
初次在 c primer 看到控制代碼,不是特別理解。在搜尋相關資料後,終於有了點頭緒。首先明白控制代碼要解決什麼問題。參考文章 c 沉思錄 閱讀筆記 類 場景 我們要把繼承類繫結到基類的例項物件中 該場景有兩個問題需要解決 記憶體分配和未知物件的繫結 有如下解決方案 直接複製繼承類物件到基類物件中...