CMenusDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
都是编程书上的为什么后面要用到文档对象中的某个变量的时侯都要写pDoc->某某变量,能不能直接写CMenusDoc.某某变量?还是不明白那个GetDocument()到底是什么东西.第二行不写行不行?先谢谢了.

解决方案 »

  1.   

    指针使用->    pDoc是一个指针
    对象使用.CMenusDoc是一个类,不是实例GetDocument()返回一个指针阿,第二行是判断指针是否为空,可以不写
      

  2.   

    好好看看书上类的用法的解释了,
    比如
    class A
    {
    public:
       int a;
    }A *pa;
    在引用类A中的a的时候,你能写A.a或A->a么,不可以的
    你必须使用pa->a这句话了,因为a是属于单个实例的,除非a是类A的公用变量。
      

  3.   

    通过指针引用变量或函数要用操作符“->”
    通过对象引用变量或函数要用操作符 “  . ”pDoc 是文档指针,当然要用“->”
    GetDocument()得到当前的文档指针。
    建议你先看看关于 C++  的书,再看VC的书
      

  4.   

    通过指针引用变量或函数要用操作符“->”
    通过对象引用变量或函数要用操作符 “  . ”pDoc 是文档指针,当然要用“->”
    GetDocument()得到当前的文档指针。
    建议你先看看关于 C++  的书,再看VC的书
      

  5.   

    为什么后面要用到文档对象中的某个变量的时侯都要写pDoc->某某变量,能不能直接写CMenusDoc.某某变量?pDoc是指向CMenusDoc类对象的指针,CMenusDoc只是类,当然不能直接用。还是不明白那个GetDocument()到底是什么东西.
    GetDocument() 获得文档指针
    ASSERT_VALID(pDoc);
    第二行不写行不行?
    当然可以,第二行的目的只是检查pDoc指针是否是NULL,如果是NULL则抛出异常,谈出对话框提醒你。清晰否?
      

  6.   

    建议:好好看看C++,不要急于学习VC…………程序员切忌急功近利,慢慢来,如果你真的喜欢这个职业
      

  7.   

    呵呵,今天看到两个没学过C++的在用VC写项目,吓了一跳…………我用了VC快3年了,有项目都不敢轻易动手,唉…………真的切忌浮躁和急功近利阿!
      

  8.   

    哎,我開始學VC是n年前的事情,前天才看完深入淺出。真後悔
      

  9.   

    我刚刚开始学啊,随便找了一本VC++的书就开始看咯,麻烦大家推荐一本好一点的C++的书,最好是网上可以找到的。
      

  10.   

    先看大学的C++教程,然后看C++ primer,同时学习windows编程(从API开始)然后熟悉MFC(深入浅出MFC)…………