wxWidgets源代码中程序对象实例化有如下宏:
#define wxIMPLEMENT_APP_NO_MAIN(appname) \
appname& wxGetApp() { return *static_cast<appname*>(wxApp::GetInstance()); } \
wxAppConsole *wxCreateApp() \
{ \
wxAppConsole::CheckBuildOptions(WX_BUILD_OPTIONS_SIGNATURE, \
“your program”); \
return new appname; \
}
其中appname为自定义类,wxAppConsole为基类
指针函数不应该返回一个类指针么? 为什么此处返回一个子类实例?
#define wxIMPLEMENT_APP_NO_MAIN(appname) \
appname& wxGetApp() { return *static_cast<appname*>(wxApp::GetInstance()); } \
wxAppConsole *wxCreateApp() \
{ \
wxAppConsole::CheckBuildOptions(WX_BUILD_OPTIONS_SIGNATURE, \
“your program”); \
return new appname; \
}
其中appname为自定义类,wxAppConsole为基类
指针函数不应该返回一个类指针么? 为什么此处返回一个子类实例?
解决方案
40
“指针函数不应该返回一个类指针么?”
这句话你是表达什么含义呢?
简单来看这个宏声明并且定义了两个函数
你就单独拿这些函数来看就好了
这句话你是表达什么含义呢?
简单来看这个宏声明并且定义了两个函数
你就单独拿这些函数来看就好了