csieveatl.h

来自「The code for this article was written fo」· C头文件 代码 · 共 58 行

H
58
字号
// 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 + =
减小字号Ctrl + -
显示快捷键?