CObject::AssertValid

เสมือน โมฆะ AssertValid ( ) const

หมายเหตุ

AssertValidทำการตรวจสอบความถูกต้องบนวัตถุนี้ โดยการตรวจสอบสถานะของภายใน ในไลบรารีรุ่น Debug, AssertValidอาจอ้าง และดังนั้นจึง หยุดโปรแกรม ด้วยข้อความที่แสดงหมายเลขบรรทัดและชื่อแฟ้มที่จะตรวจสอบเงื่อนไขล้มเหลว?

เมื่อคุณเขียนคลาของคุณเอง คุณควรแทนที่ฟังก์ชันAssertValidจะให้บริการวินิจฉัยสำหรับตัวเองและผู้ใช้อื่น ๆ ของระดับชั้นของคุณ Overridden AssertValidมักจะเรียกฟังก์ชันAssertValidของคลาสนี้พื้นฐานก่อนที่จะตรวจสอบข้อมูลสมาชิกเฉพาะชั้นได้รับ?

เนื่องจากAssertValidคือฟังก์ชันconstคุณจะไม่สามารถเปลี่ยนแปลงสถานะวัตถุในระหว่างการทดสอบ ฟังก์ชันAssertValidของคุณเองได้รับคลาสควรโยนข้อยกเว้น แต่ค่อนข้าง จะอ้างว่า พวกเขาตรวจสอบข้อมูลของวัตถุที่ไม่ถูกต้อง?

คำจำกัดความของ "ความถูกต้อง" ขึ้นอยู่กับชั้นของวัตถุ ตามกฎ ฟังก์ชันควรทำการตรวจ "ตื้นสอบ กล่าวคือ ถ้าวัตถุประกอบด้วยตัวชี้ไปยังวัตถุอื่น ๆ นั้นควรตรวจสอบเพื่อดูว่า ตัวชี้ที่ไม่ใช่ null แต่มันไม่ควรทำการทดสอบบนวัตถุอ้างอิง โดยตัวชี้ที่มีผลบังคับใช้?

ตัวอย่าง

ดูCObList::CObListสำหรับรายการของ CAge ชั้นที่ใช้ในตัวอย่างการCObjectทั้งหมด?

/ / ตัวอย่าง CObject::AssertValid
โมฆะ CAge::AssertValid() const
{
 nbsp  CObject::AssertValid()
    ASSERT (m_years > 0); 
    ASSERT (m_years < 105);
}

ภาพรวม CObject |nbsp สมาชิกของคลาส| แผนภูมิของลำดับชั้น(&N)

Index