CObject::GetRuntimeClass
เสมือน CRuntimeClass * GetRuntimeClass ( ) const
ส่งกลับค่า
ตัวชี้กับโครงสร้างของCRuntimeClass ที่สอดคล้องกับวัตถุนี้คลาส ไม่มีค่า NULL ?
หมายเหตุ
มีโครงสร้างCRuntimeClass หนึ่งสำหรับแต่ละCObject -มาคลา โครงสร้างสมาชิกมีดังนี้:
LPCSTR m_lpszClassName nbsp สิ้นสุดด้วย null สตประกอบด้วยชื่อคลาส ASCII(&N)?
int m_nObjectSize nbsp ขนาดของวัตถุ ไบต์ ถ้าวัตถุมีข้อมูลสมาชิกที่ให้ชี้ไปที่หน่วยความจำที่จัดสรรไว้ ขนาดของหน่วยความจำไม่ถูกรวมไว้(&N)?
UINT m_wSchema nbsp หมายเลข schema ( 1 เรียน nonserializable) ดูแมโคIMPLEMENT_SERIAL สำหรับคำอธิบายของหมายเลขเค้าร่าง(&N)?
Nbsp CObject * (PASCAL * m_pfnCreateObject) () ฟังก์ชันตัวชี้ไปที่กำหนดเป็นค่าเริ่มต้นที่สร้างวัตถุของระดับชั้นของคุณ(ส่งกลับถูกต้องเท่านั้นถ้าคลาสนับสนุนการสร้างแบบไดนามิก มิฉะนั้น ค่าNULL )(&N)?
Nbsp CRuntimeClass * (PASCAL * m_pfn_GetBaseClass) () ตัวชี้ไปยังฟังก์ชันที่ส่งกลับCRuntimeClass โครงสร้างของคลาสพื้นฐานถ้าโปรแกรมประยุกต์ของคุณถูกเชื่อมโยงกับรุ่น AFXDLL ของ MFC แบบไดนามิก(&N)?
CRuntimeClass * m_pBaseClass nbsp ถ้าโปรแกรมประยุกต์ของคุณมีการเชื่อมโยงกับ MFC ตัวชี้การCRuntimeClass โครงสร้างของคลาสพื้นฐานคอน(&N)?
คุณลักษณะเฉพาะใน Professional และ Enterprise Editions nbsp เชื่อมโยงกับ MFC คงถูกสนับสนุนเฉพาะใน Visual c ++ Professional และ Enterprise Editions ดูข้อมูลเพิ่มเติม Visual c ++ Editions (&N)?
ฟังก์ชันนี้ต้องใช้แมโคIMPLEMENT_DYNAMIC หรือIMPLEMENT_SERIAL ในการใช้งานของคลาส คุณจะได้รับผลไม่ถูกต้อง?
ตัวอย่าง
ดูCObList::CObList สำหรับรายการของ CAge ชั้นที่ใช้ในตัวอย่างการCObject ทั้งหมด?
/ / ตัวอย่าง CObject::GetRuntimeClass
กรง a(21)
CRuntimeClass * แป้น = a.GetRuntimeClass()
ASSERT (strcmp (แป้น-gt; m_lpszClassName "กรง") == 0)(&G)
ภาพรวม CObject |nbsp สมาชิกของคลาส | แผนภูมิของลำดับชั้น (&N)
ดูเพิ่มเติม nbspCObject::IsKindOf , RUNTIME_CLASS (&N)