CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

SDI 模型中,为什么在*view.h中有doc的指针,而没有发现*doc.h被包含

楼主max_xy(夏平生)2004-08-03 21:00:54 在 VC/MFC / 基础类 提问

#if   !defined(AFX_TESTVIEWVIEW_H__5C128BD4_0D25_4612_9A97_E3DE73A64EEC__INCLUDED_)  
  #define   AFX_TESTVIEWVIEW_H__5C128BD4_0D25_4612_9A97_E3DE73A64EEC__INCLUDED_  
   
  #if   _MSC_VER   >   1000  
  #pragma   once  
  #endif   //   _MSC_VER   >   1000  
   
  class   CTestViewView   :   public   CFormView  
  {  
  protected:   //   create   from   serialization   only  
  CTestViewView();  
  DECLARE_DYNCREATE(CTestViewView)  
   
  public:  
  //{{AFX_DATA(CTestViewView)  
  enum   {   IDD   =   IDD_TESTVIEW_FORM   };  
  CListCtrl m_listctrl;  
  //}}AFX_DATA  
   
  //   Attributes  
  public:  
  CTestViewDoc*   GetDocument();  
   
  这里CTestViewDoc为什么可以被编译通过,  
  因为这个文件没有包括TestViewDoc.h啊, 问题点数:20、回复次数:5Top

1 楼csdn_cht(欣欣兽)回复于 2004-08-03 21:06:57 得分 0

你看看view.cpp的头几行,它首先包含了doc.h,然后才包含view.h。这样就等于是包含了doc.h。但如果你在其他一个文件中只包含view.h的话,肯定会出错。  
   
  //   ExplainView.cpp   :   implementation   of   the   CExplainView   class  
  //  
   
  #include   "stdafx.h"  
  #include   "Explain.h"  
   
  #include   "ExplainDoc.h"       《=====//就是这里。  
  #include   "ExplainView.h"     <===这是视图的头文件。  
   
  Top

2 楼snowx(宠物幽灵)回复于 2004-08-04 08:58:09 得分 0

hehe,因为你的   xxxview.cpp   文件,是先包含   了   xxxdoc.h   然后再包含   xxxxview.h   的  
  不信,你调换一下看看Top

3 楼xyfm()回复于 2004-08-04 09:33:19 得分 20

楼上的,按照您的思路,我任意生成一个类CTEST,然后在xxxview.cpp中包括进去(#include   在xxxview.h之前),然后我在xxxview.h中这样声明CTest*   p;编译过不去啊!怎么解释Top

4 楼max_xy(夏平生)回复于 2004-08-09 07:39:30 得分 0

难道这个问题,就没有人能解释么????Top

5 楼lijiecong(老头)回复于 2004-08-09 07:56:43 得分 0

在程序的InitialInstance中   有CSingleDocTemplate   或者CMultiDocTemplate的对象   ,框架,DOC,VIEW都是在这个时候创建的。VIEW中有一个m_pDocumnet成员,在创建VIEW时付的植。就这样。Top

相关问题

  • sdi中取出CView的指针
  • 如何得到Doc的指针
  • 怎么由app中得到mainfrm的指针,或者得到doc/view的指针?
  • SDI的Document类指针传递给Dialog类?
  • 在SDI的CView里面如何取得CMainFrame的指针?
  • 请问MDI里面App类如何获得Doc类的指针?
  • 如何在View类以外获得Doc类的指针?(内空)
  • DOC指针如何得到呢?在另外的类中?
  • 在线等待:如何取得DOC指针?
  • 怎样由DOC类向VIEW类传递指针?

关键词

  • view
  • ctestviewview
  • doc
  • afx
  • include

得分解答快速导航

  • 帖主:max_xy
  • xyfm

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo