#include "stdafx.h"
class CWnd
{
public:
virtual void Create()
{
printf("CWnd Create\r\n");
PreCreateWindow();
}
virtual void PreCreateWindow()
{
printf("CWnd PreCreateWindow\r\n");
}
};
class MainFrame:public CWnd
{
public:
virtual void PreCreateWindow()
{
printf("MainFrame PreCreateWindow\r\n");
}
};
int _tmain(int argc, _TCHAR* argv[])
{
MainFrame* p=new MainFrame;
p->Create();
return 0;
}
打印
CWnd Create
MainFrame PreCreateWindow
声明virtual后,根据指针指向类型调用,优先调用子类,没有改写则调用父类。
不声明virual 根据指针类型调用。
本文通过一个C++代码示例,详细解释了虚函数和多态的概念。展示了如何通过基类指针调用派生类的方法,以及虚函数在实现多态中的作用。
886

被折叠的 条评论
为什么被折叠?



