⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 math.h

📁 ATL开发指南PDF格式
💻 H
字号:
//
// Math.h : Declaration of the CMath
//

#ifndef __MATH_H_
#define __MATH_H_

#include "resource.h"       // main symbols

typedef enum mathOPERATOR
{
   mathAdd,
   mathSubtract,
   mathMultiply,
   mathDivide
} mathOPERATOR;

struct ThreadParameters
{
   mathOPERATOR   op;
   long           lOp1;
   long           lOp2;
   IStream*       pStream;
};

/////////////////////////////////////////////////////////////////////////////
// CMath
class ATL_NO_VTABLE CMath : 
	public CComObjectRootEx<CComSingleThreadModel>,
	public CComCoClass<CMath, &CLSID_Math>,
   public IMath
{
public:
	CMath()
	{
      m_pCallBack = 0;
	}

DECLARE_REGISTRY_RESOURCEID(IDR_MATH)

BEGIN_COM_MAP(CMath)
	COM_INTERFACE_ENTRY(IMath)
END_COM_MAP()

// IMath
public:
	STDMETHOD(Unadvise)();
	STDMETHOD(Advise)(/*[in]*/ ICallBack* pCallBack);
	STDMETHOD(Divide)(/*[in]*/ long lOp1, /*[in]*/ long lOp2);
	STDMETHOD(Multiply)(/*[in]*/ long lOp1, /*[in]*/ long lOp2);
	STDMETHOD(Subtract)(/*[in]*/ long lOp1, /*[in]*/ long lOp2);
	STDMETHOD(Add)(/*[in]*/ long lOp1, /*[in]*/ long lOp2);

private:
   ICallBack* m_pCallBack;
   HRESULT SimulateLongComputation( mathOPERATOR op, long lOp1, long lOp2 );
};

#endif //__MATH_H_

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -