建立者會配置物件的記憶體、呼叫物件的起始設定元及將指標傳回所建立的物件。
例如,針對物件 A 產生下列建立者:
A * A_Create() {
A* me = (A *) malloc(sizeof(A));
if(me!=NULL)
{
A_Init(me);
}
return me;
}
若是回應物件,指向作業的指標會新增至建立者的引數清單(結尾)。此指標會告知回應物件其執行中的執行緒。例如:
A * A_Create(RiCTask * p_task) {
A* me = (A *) malloc(sizeof(A));
if(me!=NULL)
{
A_Init(me, p_task);
}
DYNAMICALLY_ALLOCATED(me);
return me;
}
因為在 C 中無法指定引數預設值,您可以傳遞作業的 NULL 值以引起實例在主要作業中執行。
C_CG::Class::AllocateMemory 內容及 C_CG::Event::AllocateMemory 內容會指定產生的字串,用來為物件或事件動態配置記憶體。此字串會用於 Create() 作業中。此內容的預設值是:
($cname*) malloc(sizeof($cname));
在產生的程式碼中,$cname 關鍵字會取代為記憶體所配置的物件或事件名稱。
您可以呼叫物件的建立者函數來動態建立物件。例如:
B *new_B;
new_B = B_create();
您可以呼叫物件的刪除函數來動態刪除物件。例如:
B_Destroy(new_B);