问一个VC应用程序框架问题
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++语法里岂不是非法的?
还是应用程序框架隐含定义了这种变量?
虚心求教!谢谢!
问题点数:20、回复次数:2Top
1 楼kugou123(酷狗)(彪悍的人生,不需要解释 www.xiaozhou.net)回复于 2005-05-13 22:41:31 得分 20
那跟MFC内部实现有关。CBitsDoc是一个类。
宏是可以展开的。
建议看看候俊杰的《深入浅出MFC》Top
2 楼Rinler(猎人)回复于 2005-05-13 22:48:37 得分 0
谢谢
你的意思是RUNTIME_CLASS不是函数,而是宏?Top




