hur.cn - 华软网

 热门搜索

为什么GetDocument的实现函数里面要去IsKindOf(RUNTIME_CLASS)判断一下类型?

  作者:未知    来源:网络    更新时间:2011/5/30
如题: 我发现在视图类的GetDocument函数里面:
C++">
CViewMyDoc* CLeftView::GetDocument() // non-debug version is inline
{
         ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CViewMyDoc)));
         return (CViewMyDoc*)m_pDocument;
}



我的问题是,既然工程里面的Doc类型名字就是CViewMyDoc,那么为什么还要劳什子去IsKindOf(RUNTIME_CLASS)这样做一个运行时的判断呢?
感觉是个冗余的操作啊.

---华软 网友回答---
你先看看什么叫“RTTI”吧
---华软网友回复---
如果是一个非常简单的环境那是没错;但是考虑到环境的复杂性及和MDI的兼容性,而且这样写可以提高程序健壮性。      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。