CView:GetDocument()的实现下哪个文件里面

CView::GetDocument()的实现在哪个文件里面
CView:GetDocument()的实现下哪个文件里面

想对这个方法有更深入的了解。。

------解决方案--------------------
VC6 的在 afxwin2.inl 文件中。
------解决方案--------------------
很多核心的函数是不公开的。但是对于这个方法你需要了解什么呢?既然CView有如下成员,这个函数肯定是直接返回这个了
protected:
CDocument* m_pDocument;
引用:
想对这个方法有更深入的了解。。

------解决方案--------------------
这个不用深入了解的,有两个版本的,debug版的就在H文件中,一般是这样的:
#ifndef _DEBUG  // ddView.cpp 中的调试版本
inline CddDoc* CddView::GetDocument() const
   { return reinterpret_cast<CddDoc*>(m_pDocument); }
#endif
realease版的在CPP文件中:
CddDoc* CddView::GetDocument() const // 非调试版本是内联的
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CddDoc)));
return (CddDoc*)m_pDocument;
}

------解决方案--------------------
那是你自己视图类的,楼主问的是CView类。这个函数不是纯虚函数,因此CView自己也有这个函数的实现的
引用:
这个不用深入了解的,有两个版本的,debug版的就在H文件中,一般是这样的:
#ifndef _DEBUG // ddView.cpp 中的调试版本
inline CddDoc* CddView::GetDocument() const
  { return reinterpret_cast<CddDoc*>(m_pDocument); }
#endif
realease版的在CPP文件……

------解决方案--------------------
这个同样被隐藏起来了,你在代码里是找不到的,他实际应该是在CDocTemplate之类的类中创建的

引用:
引用:
很多核心的函数是不公开的。但是对于这个方法你需要了解什么呢?既然CView有如下成员,这个函数肯定是直接返回这个了


我看mfc深入浅出 还是有一处不太懂
《深入浅出MFC》P369有写到:View对象何时被动态创建?答案是当使用者单击【Fiel/Open】或【Fiel/New】时,每当产生一个Document时,就会产生一组Document……