vc应用程序中,自动生成的代码有很多函数直接以类名作为参数,不知道怎么理解,难道是隐藏定义的变量?
如CWinApp的InitInstance()函数中有
CMultiDocTemplate* pDocTemplate;
pDocTemplate = new CMultiDocTemplate(
IDR_BMPTYPE,
RUNTIME_CLASS(CBitsDoc),
RUNTIME_CLASS(CChildFrame), // custom MDI child frame
RUNTIME_CLASS(CBitsView));
AddDocTemplate(pDocTemplate);
用以创建Doc和View类的对象,其中RUNTIME_CLASS函数用了CBitsDoc作为参数,但CBitsDoc既不是字符串,也没看到在哪定义为变量,在c++语法里岂不是非法的?
还是应用程序框架隐含定义了这种变量?
虚心求教!谢谢!
如CWinApp的InitInstance()函数中有
CMultiDocTemplate* pDocTemplate;
pDocTemplate = new CMultiDocTemplate(
IDR_BMPTYPE,
RUNTIME_CLASS(CBitsDoc),
RUNTIME_CLASS(CChildFrame), // custom MDI child frame
RUNTIME_CLASS(CBitsView));
AddDocTemplate(pDocTemplate);
用以创建Doc和View类的对象,其中RUNTIME_CLASS函数用了CBitsDoc作为参数,但CBitsDoc既不是字符串,也没看到在哪定义为变量,在c++语法里岂不是非法的?
还是应用程序框架隐含定义了这种变量?
虚心求教!谢谢!
解决方案 »
- 请教个问题
- VC变编程中定义的结构体是否占用内存即缓冲区
- T.T做了个托盘程序,运行不了,痛不欲生~发泄一下~
- 有没有办法用程序得到 所有网站 同名的cookie 值?
- 分配字节内存时为什么要加1?
- 请教各位MFC高人,MFC对<valarray>模板是不是有冲突,该如何解决
- 为什么调用API,执行起来很慢调用NetMessageBufferSend、NetUserChangePassword等API失败返回要15秒以上受不了怎么弄快点?
- 有没有办法下载网页的背景音乐
- 编译时错误如下
- MFC用ADO连接exel2010出现错误:无效指针
- MFC AppWizard创建用了一个应用程序,但是怎么编译有错误???
- SetWindowPos后,如何让Dialog随窗口移动?
宏是可以展开的。
建议看看候俊杰的《深入浅出MFC》
你的意思是RUNTIME_CLASS不是函数,而是宏?