我有些不明白。
我们重写了InitInstance okey,但是在CwinApp类中有许多虚函数
并创建不是指针的App对象。这是对象。
这不适合c++多态性规则
我有错吗?
class CMyApp : public CWinApp {
public:
virtual BOOL InitInstance(void);//override
};
CMyApp theApp; //then create object
最佳答案
CMyApp theApp;
如果静态(即在编译期间)类型与动态(即在运行时)类型不同,则该对象被称为多态的。在上面的语句中,
theApp
的静态和动态类型相同,即CMyApp
。CWinApp *polyApp = new CMyApp();
在上述情况下,
polyApp
静态类型为CWinApp
,动态类型为CMyApp
。关于c++ - MFC中的C++多态性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35965946/