/********************************************************************
file name : CLK.h
author : Clark/陈泽丹
created : 2011-11-12
purpose : C++的局部类
好处:
1,可以运用外层的Template参数
2,该类不可对外用于继承
3,减少类的出现和提高符号地域性
*********************************************************************/
#include <iostream>
using namespace std;
class Interface
{
public:
virtual ~Interface(){}
virtual void Show()
{
cout<<"Interface"<<endl;
}
};
//转换接口
class Adapter
{
public:
template<class T>
Interface* MakeAdapter(T date)
{
class LocalInterface: public Interface
{
public:
LocalInterface(T _Obj):m_Obj(_Obj){}
~LocalInterface(){}
virtual void Show()
{
cout<<"LocalInterface"<<m_Obj<<endl;
}
private:
T m_Obj;
};
return new LocalInterface(date);
}
};
void main()
{
A a;
Interface* pInterface = a.MakeAdapter(327);
pInterface->Show();
delete pInterface;
system("pause");
}
1083

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



