void CObject::AssertValid() const //说明：该成员函数只能对成员变量做"引用型"操作,不能做"加工型"操作
ASSERT(this != NULL);
When you write your own class, you should override the AssertValid function to provide diagnostic(诊断) services for yourself and other users of your class. The overridden AssertValid usually calls the AssertValid function of its base class before checking data members unique to the derived class.
Because AssertValid is a const function, you are not permitted to change the object state during the test. Your own derived class AssertValid functions should not throw exceptions but rather should assert whether they detect invalid object data.