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

📄 csieveatl.h

📁 The code for this article was written for version 1.0 of the Active Template Library (ATL). The cu
💻 H
字号:
// CSieveATL.h: Definition of the CSieveATL class
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_CSIEVEATL_H__4C671FB4_4445_11D2_81F1_00C0F030B702__INCLUDED_)
#define AFX_CSIEVEATL_H__4C671FB4_4445_11D2_81F1_00C0F030B702__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "resource.h"       // main symbols

/////////////////////////////////////////////////////////////////////////////
// CSieveATL

const short PRIME_MAX = 32767;

class CSieveATL : 
	public IDispatchImpl<ISieveATL, &IID_ISieveATL, &LIBID_SIEVEATLLib>, 
	public ISupportErrorInfo,
	public CComObjectRoot,
	public CComCoClass<CSieveATL,&CLSID_CSieveATL>
{
public:
	CSieveATL();
	~CSieveATL();
BEGIN_COM_MAP(CSieveATL)
	COM_INTERFACE_ENTRY(IDispatch)
	COM_INTERFACE_ENTRY(ISieveATL)
	COM_INTERFACE_ENTRY(ISupportErrorInfo)
END_COM_MAP()
//DECLARE_NOT_AGGREGATABLE(CSieveATL) 
// Remove the comment from the line above if you don't want your object to 
// support aggregation. 

DECLARE_REGISTRY_RESOURCEID(IDR_CSieveATL)
// ISupportsErrorInfo
	STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid);

// ISieveATL
public:
	STDMETHOD(AllPrimes)(SAFEARRAY **ai);
	STDMETHOD(Reinitialize)();
	STDMETHOD(get_Primes)(/*[out, retval]*/ short *piVal);
	STDMETHOD(get_MaxPrime)(/*[out, retval]*/ short *piVal);
	STDMETHOD(put_MaxPrime)(/*[in]*/ short iVal);
	STDMETHOD(get_NextPrime)(/*[out, retval]*/ short *pVal);

private:
    short * m_af;           // Array of flags
    int     m_iCur;         // Current index
    short   m_iMaxPrime;    // Maximum index
    short   m_cPrime;       // Count of primes
};

#endif // !defined(AFX_CSIEVEATL_H__4C671FB4_4445_11D2_81F1_00C0F030B702__INCLUDED_)

⌨️ 快捷键说明

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