首页 > 代码库 > 虚函数简单总结

虚函数简单总结

#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 根据指针类型调用。

虚函数简单总结