ATL Style 模板学习手记

类别:VC语言 点击:0 评论:0 推荐:
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