CRuntimeClass

CRuntimeClassไม่มีคลาสพื้นฐาน?

แต่ละชั้นที่ได้รับมาจากCObjectเกี่ยวข้องกับโครงสร้างแบบCRuntimeClassที่คุณสามารถใช้เพื่อขอรับข้อมูลเกี่ยวกับวัตถุหรือคลาสพื้นฐานของเวลาเรียกใช้งาน ความสามารถในการกำหนดคลาสของวัตถุเวลาเรียกใช้งานจะเป็นประโยชน์ เมื่อจำเป็นชนิดพิเศษที่การตรวจสอบของอาร์กิวเมนต์ของฟังก์ชัน หรือ เมื่อคุณต้องเขียนโค้ดพิเศษวัตถุประสงค์ตามคลาสของวัตถุ ไม่มีสนับสนุนขณะเรียกใช้คลาสข้อมูลได้โดยตรง ด้วยภาษา c ++?

โครงสร้างมีสมาชิกต่อไป:

LPCSTR m_lpszClassName

สิ้นสุดด้วย null สตประกอบด้วยชื่อคลาส ASCII?

int m_nObjectSize

ขนาดของวัตถุ ไบต์ ถ้าวัตถุมีข้อมูลสมาชิกที่ให้ชี้ไปที่หน่วยความจำที่จัดสรรไว้ ขนาดของหน่วยความจำไม่ถูกรวมไว้?

UINT m_wSchema

หมายเลขของ schema (– 1 เรียน nonserializable) ดูแมโคIMPLEMENT_SERIALสำหรับคำอธิบายของหมายเลขเค้าร่าง?

(PASCAL * m_pfnCreateObject) * CObject ()

ฟังก์ชันตัวชี้ไปที่กำหนดเป็นค่าเริ่มต้นที่สร้างวัตถุของระดับชั้นของคุณ(ส่งกลับถูกต้องเท่านั้นถ้าคลาสนับสนุนการสร้างแบบไดนามิก มิฉะนั้น ค่าNULL)?

(PASCAL * m_pfn_GetBaseClass) * CRuntimeClass ()

ตัวชี้ไปยังฟังก์ชันที่ส่งกลับCRuntimeClassโครงสร้างของคลาสพื้นฐานถ้าโปรแกรมประยุกต์ของคุณถูกเชื่อมโยงกับรุ่น AFXDLL ของ MFC แบบไดนามิก?

CRuntimeClass * m_pBaseClass

ถ้าโปรแกรมประยุกต์ของคุณมีการเชื่อมโยงกับ MFC ตัวชี้การCRuntimeClassโครงสร้างของคลาสพื้นฐานคอน?

คุณลักษณะเฉพาะใน Professional และ Enterprise Editionsnbsp  เชื่อมโยงกับ MFC คงถูกสนับสนุนเฉพาะใน Visual c ++ Professional และ Enterprise Editions ดูข้อมูลเพิ่มเติม Visual c ++ Editions(&N)?

CObject * CreateObject ();

คลาสที่ได้รับจากCObjectสามารถสนับสนุนการสร้างแบบไดนามิก ซึ่งก็คือความสามารถในการสร้างวัตถุของคลาสที่ระบุเวลาเรียกใช้งาน เอกสาร มุมมอง และคลา สของเฟรม ตัวอย่าง ควรสนับสนุนการสร้างแบบไดนามิก ฟังก์ชัน createobject สมาชิกสามารถใช้ในการใช้ฟังก์ชันนี้ และสร้างวัตถุเรียนเหล่านี้ในระหว่างเวลารัน สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการสร้างแบบไดนามิกและสมาชิกCreateObjectดู หัวข้อคลา CObjectและ CObject Class: การระบุระดับของฟังก์ชันในVisual c ++ Programmer ของคำแนะนำ?

BOOL IsDerivedFrom (const CRuntimeClass * pBaseClass) const;

ส่งกลับค่าTRUEถ้าคลาสของสมาชิกของคลาสเรียกIsDerivedFromที่ได้รับมาจากคลาสพื้นฐานโครงสร้างCRuntimeClassซึ่งได้ถูกกำหนดเป็นพารามิเตอร์ IsDerivedFromแนะนำจากสมาชิกชั้นขึ้นลูกโซ่ของคลาสที่ได้รับไปทางด้านบน และส่งกลับค่าเท็จเท่านั้นถ้าพบสำหรับคลาสพื้นฐานไม่ตรงกัน?

หมายเหตุnbsp  การใช้โครงสร้างCRuntimeClassคุณต้องรวมแมโคIMPLEMENT_DYNAMIC, IMPLEMENT_DYNCREATEหรือIMPLEMENT_SERIALในการใช้งานที่คุณต้องการเรียกข้อมูลเวลาทำงานวัตถุคลา(&N)?

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้CRuntimeClassให้ดูบทความ CObject คลา: การเข้าถึงข้อมูลในคลาสเวลาทำงานในVisual c ++ Programmer ของคำแนะนำ?

แผนภูมิของลำดับชั้น

ดูเพิ่มเติมnbspCObject::GetRuntimeClass, CObject::IsKindOf, RUNTIME_CLASS, IMPLEMENT_DYNAMIC, IMPLEMENT_DYNCREATE, IMPLEMENT_SERIAL(&N)

Index