以 C 語言實作物件封裝 (Encapsulation)
高等 C 語言簡介字串指標與陣列函數結構物件導向記憶體檔案錯誤處理巨集處理C 與組合語言資料結構動態字串動態陣列鏈結串列雜湊表開發環境MakeCygwinMinGWDevC++wxDevC++編譯器gcc 編譯器TinyCC 編譯器LCC 編譯器應用主題CGI 程式GNU 程式視窗程式影像處理練習題訊息相關網站參考文獻最新修改簡體版English |
物件導向中的封裝,是指將資料與函數封裝在一個稱為物件的結構當中,我們可以使用 C 語言的結構,將資料與函數指標一起放入結構中,就形成了一個類似物件的結構。 程式範例:實作 Circle 物件#include <stdio.h> struct Circle { void (*new)(struct Circle*, float); float (*area)(struct Circle*); float r; }; float CircleArea(struct Circle *obj) { return 3.14 * obj->r * obj->r; } void CircleNew(struct Circle *obj, float r) { obj->new = CircleNew; obj->area = CircleArea; obj->r = r; } int main() { struct Circle c; CircleNew(&c, 3.0); printf("area() = %G\n", c.area(&c)); } 執行結果
|
page revision: 3, last edited: 02 Sep 2010 02:35
Post preview:
Close preview