用ATL手法来实现接口设计

给出简单例子,体现一下设计思路

接口:

IPlatform: IUnknown

IView: IPlatform

IPicView: IView

---------------------------------

IContorl: IPlatform

IToolbarCtl: IContorl

=======================================

实现:

/
// IPlatformImpl
template <class T>
class ATL_NO_VTABLE IPlatformImpl :
public T
{
public:

xxxx // IPlatform 的方法

}

/
// IViewImpl
template <class T, class I>
class ATL_NO_VTABLE IViewImpl :
public T,
public I

{
 BEGIN_MSG_MAP(IViewImpl)
  MESSAGE_HANDLER(WM_ERASEBKGND , OnEraseBkGnd)
 END_MSG_MAP()
 
 
public:
 DECLARE_WND_CLASS("PLATFORM_VIEW")
 yyyy // IView的方法

}

//

class CPicView :
 public IViewImpl< CWindowImpl<CPicView>, IPlatformImpl<IPicView> >,
 public CComObjectRoot,
 public CComCoClass<CPicView>,

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值