📄 csieveatl.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 + -