// 宣告
typedef struct _myobjectclass myobjectclass;
// 定義
typedef struct _myobject myobject;
typedef struct _myobjectclass myobjectclass;
// myobject當前的類,my_object字首,g_type_object父類
g_define_type(myobject, my_object, g_type_object);
gobject 中的『類結構體』的作用是面向 gobject 型別系統宣告乙個『類』的型別,gobject 的『類結構體』通常需要從乙個叫做 gobjectclass 的『類結構體』派生而成
宣告變數:init函式安裝g_object_class_install_property+列舉
獲取/設定屬性值:g_object_set/get_property
宣告函式:函式嚴格根據繼承的父類設定
類的建構函式:
class_init: 成員函式的註冊
_init:成員變數的註冊
理解迴圈引用:ref/unref
呼叫父類的析構:g_object_class (parent_class)
#define my_is_object(obj) (g_type_check_instance_type(my_obj, my_object_get_type()))
[用c++模擬](
#define boy(obj) (g_type_check_instance_cast((obj),boy_type,boy))
[gobject物件強制轉換為boy物件](
[理解***_get_type](
pmdlist *list = g_object_new (pm_type_dlist,
"head", null,
"tail", null,
null);/* 要記得鍵值對引數之後,要以 null 收尾 */
null->ready分配資源,
null->ready向上通知
ready->null向下通知
結構體之間的擷取
[c++理解gobject]
[系統學習gobject]
用C語言實現C 中類的封裝繼承多型
作用 標頭檔案中使用,防止標頭檔案被多重呼叫 作為測試使用,省去注釋 的麻煩 作為不同角色或者場景的判斷使用。使用 把頭檔案的內容都放在 ifndef和 endif中 ifndef 標識 define 標識 endif 解釋 標識 在理論上來說可以是自由命名的,但每個標頭檔案的這個 標識 都應該是唯...
C語言實現C 中的類
華科複試面試題 c語言如何實現c 中的類 include c 語言沒有類,但可以用結構體充當乙個類 與類不同,結構體只能定義變數,不能夠定義函式,可以通過函式指標的方法來實現其功能 定義 類 的成員變數以及方法 typedef struct personperson 定義函式功能 void eatf...
C語言實現C 中的類
華科複試面試題 c語言如何實現c 中的類 include c 語言沒有類,但可以用結構體充當乙個類 與類不同,結構體只能定義變數,不能夠定義函式,可以通過函式指標的方法來實現其功能 定義 類 的成員變數以及方法 typedef struct personperson 定義函式功能 void eatf...