ATL Style 模板学习手记
ATL的模板定义有些让人看的眼花缭乱,如,
class CMyWnd : public CWindowImpl
{
...
};
据说,这样做是合法的,原因是C++的语法解释过,即使CMyWnd类只是被部分定义,类名CMyWnd已经被列入递归继承列表,是可以使用的。
将类名作为模板类的参数是因为ATL为了在编译期间的虚函数调用。而真正的虚拟函数,其多态性是在运行时刻决定的。
为此,做程序已观之:
// AtlTemplate.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
using std::cout;
using std::endl;
class Base
{
public:
void SayHi(){ PrintClassName(); }
protected:
void PrintClassName(){ cout
本文地址:http://com.8s8s.com/it/it484.htm