Cpp クラス オーバーロード 新しいページはコチラ
提供: yonewiki
(→102行目~131行目(クラスプログラム部)) |
(→クラス オーバーロード) |
||
32行: | 32行: | ||
public: | public: | ||
void COverloadSum(int iArgVal1, int iArgVal2); | void COverloadSum(int iArgVal1, int iArgVal2); | ||
− | void COverloadSum(int* piArgVal); | + | void COverloadSum(int* piArgVal, int iSizeArgVal); |
void COverloadSum(float fArgVal1, fArgVal2); | void COverloadSum(float fArgVal1, fArgVal2); | ||
− | void COverloadSum(float* pfArgVal); | + | void COverloadSum(float* pfArgVal,int iSizeArgVal); |
int Get(); | int Get(); | ||
}; | }; | ||
49行: | 49行: | ||
m_piData[0] = iArgVal1; | m_piData[0] = iArgVal1; | ||
m_piData[1] = iArgVal2; | m_piData[1] = iArgVal2; | ||
− | m_fSum( m_piData, 2); | + | m_fSum( m_piData, (int)sizeof(int)*2);//sizeof演算子の戻り値はsize_t型=unsigned int型です。符号を無視するキャストなので安全なキャスト。 |
} | } | ||
61行: | 61行: | ||
m_piData[1] = ceil(fArgVal2); | m_piData[1] = ceil(fArgVal2); | ||
− | m_fSum( m_piData, 2); | + | m_fSum( m_piData, (int)sizeof(float)*2); |
} | } | ||
void COverloadSum::COverloadSum(float* pfArgVal, int iSizeArgVal){ | void COverloadSum::COverloadSum(float* pfArgVal, int iSizeArgVal){ | ||
− | for(int iScan = 0; i < iSizeArgVal / sizeof (float) ; iScan++){ | + | for(int iScan = 0; i < iSizeArgVal / (int)sizeof (float) ; iScan++){ |
m_piData[iScan] = pfArgVal[iScan]; | m_piData[iScan] = pfArgVal[iScan]; | ||
} | } | ||
− | m_fSum( m_piData, | + | m_fSum( m_piData, iSizeArgVal); |
} | } | ||
void mf_Sum(int* piArgVal, int iSizeArgVal){ | void mf_Sum(int* piArgVal, int iSizeArgVal){ | ||
− | for(int iScan = 0; i < iSizeArgVal / sizeof(int) ; iScan++){ | + | for(int iScan = 0; i < iSizeArgVal / (int)sizeof(int) ; iScan++){ |
m_iSum = m_iSum + piArgVal[iScan]; | m_iSum = m_iSum + piArgVal[iScan]; | ||
} | } | ||
93行: | 93行: | ||
int piDataArr[4] = { 3, 7, 9, 10 }; | int piDataArr[4] = { 3, 7, 9, 10 }; | ||
− | COverloadSum objCOverloadSum_pInt(piDataArr, sizeof(piDataArr)); | + | COverloadSum objCOverloadSum_pInt(piDataArr, (int)sizeof(piDataArr)); |
float pfDataArr[5] = { 3.2, 5.4, 8.2, 13.4, 42.5 }; | float pfDataArr[5] = { 3.2, 5.4, 8.2, 13.4, 42.5 }; | ||
− | COverloadSum objCOverloadSum_pFloat(pfDataArr, sizeof(pfDataArr)); | + | COverloadSum objCOverloadSum_pFloat(pfDataArr, (int)sizeof(pfDataArr)); |
printf("IntInt=%d, pInt=%d, FloatFloat=%d, pFloat=%d,\n", | printf("IntInt=%d, pInt=%d, FloatFloat=%d, pFloat=%d,\n", | ||
111行: | 111行: | ||
<syntaxhighlight2 lang="cpp"> | <syntaxhighlight2 lang="cpp"> | ||
void COverloadSum(int iArgVal1, int iArgVal2); | void COverloadSum(int iArgVal1, int iArgVal2); | ||
− | void COverloadSum(int* piArgVal); | + | void COverloadSum(int* piArgVal, int iSizeArgVal); |
void COverloadSum(float fArgVal1, fArgVal2); | void COverloadSum(float fArgVal1, fArgVal2); | ||
− | void COverloadSum(float* pfArgVal); | + | void COverloadSum(float* pfArgVal,int iSizeArgVal); |
</syntaxhighlight2> | </syntaxhighlight2> | ||