CMenusDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
都是编程书上的为什么后面要用到文档对象中的某个变量的时侯都要写pDoc->某某变量,能不能直接写CMenusDoc.某某变量?还是不明白那个GetDocument()到底是什么东西.第二行不写行不行?先谢谢了.
ASSERT_VALID(pDoc);
都是编程书上的为什么后面要用到文档对象中的某个变量的时侯都要写pDoc->某某变量,能不能直接写CMenusDoc.某某变量?还是不明白那个GetDocument()到底是什么东西.第二行不写行不行?先谢谢了.
对象使用.CMenusDoc是一个类,不是实例GetDocument()返回一个指针阿,第二行是判断指针是否为空,可以不写
比如
class A
{
public:
int a;
}A *pa;
在引用类A中的a的时候,你能写A.a或A->a么,不可以的
你必须使用pa->a这句话了,因为a是属于单个实例的,除非a是类A的公用变量。
通过对象引用变量或函数要用操作符 “ . ”pDoc 是文档指针,当然要用“->”
GetDocument()得到当前的文档指针。
建议你先看看关于 C++ 的书,再看VC的书
通过对象引用变量或函数要用操作符 “ . ”pDoc 是文档指针,当然要用“->”
GetDocument()得到当前的文档指针。
建议你先看看关于 C++ 的书,再看VC的书
GetDocument() 获得文档指针
ASSERT_VALID(pDoc);
第二行不写行不行?
当然可以,第二行的目的只是检查pDoc指针是否是NULL,如果是NULL则抛出异常,谈出对话框提醒你。清晰否?