advancedmath.cpp
来自「这是ATL电子书的随书代码」· C++ 代码 · 共 60 行
CPP
60 行
// AdvancedMath.cpp : Implementation of CAdvancedMath
#include "stdafx.h"
#include "Chapter5_Contain.h"
#include "AdvancedMath.h"
/////////////////////////////////////////////////////////////////////////////
// CAdvancedMath
// IAdvancedMath interface
long calcFactorial( short n )
{
if ( n > 1 )
return n * calcFactorial( n - 1 );
else
return 1;
}
STDMETHODIMP CAdvancedMath::Factorial( short sOp, long* plResult )
{
*plResult = calcFactorial( sOp );
return S_OK;
}
long calcFibonacci( short n )
{
if ( n <= 1 )
return 1;
return calcFibonacci( n - 1 ) + calcFibonacci( n - 2 );
}
STDMETHODIMP CAdvancedMath::Fibonacci( short sOp, long* plResult )
{
*plResult = calcFibonacci( sOp );
return S_OK;
}
// Implementation needed with containment
// However, we just pass the call on to the contained component
STDMETHODIMP CAdvancedMath::Add(long lOp1, long lOp2, long * plResult)
{
return m_pSimpleMath->Add( lOp1, lOp2, plResult );
}
STDMETHODIMP CAdvancedMath::Subtract(long lOp1, long lOp2, long * plResult)
{
return m_pSimpleMath->Subtract( lOp1, lOp2, plResult );
}
STDMETHODIMP CAdvancedMath::Multiply(long lOp1, long lOp2, long * plResult)
{
return m_pSimpleMath->Multiply( lOp1, lOp2, plResult );
}
STDMETHODIMP CAdvancedMath::Divide(long lOp1, long lOp2, long * plResult)
{
return m_pSimpleMath->Divide( lOp1, lOp2, plResult );
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?