Cpp クラス オーバーロード 新しいページはコチラ
提供: yonewiki
(→102行目~131行目(クラスプログラム部)) |
|||
5行: | 5行: | ||
<tr> | <tr> | ||
<td style="width:1px;"></td> | <td style="width:1px;"></td> | ||
− | <td class="mbox-text plainlist" style="">本来の表記は「<b><span id="RealTitle" style="font-size:large;">C++ クラス オーバーロード</span></b>」です。この記事に付けられた題名は{{記事名の制約}}から不正確なものとなっています。</td> | + | <td class="mbox-text plainlist" style="">本来の表記は「<b><span id="RealTitle" style="font-size:large;">C++(Cpp) クラス オーバーロード</span></b>」です。この記事に付けられた題名は{{記事名の制約}}から不正確なものとなっています。</td> |
</tr> | </tr> | ||
</table> | </table> | ||
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, float 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型です。符号を無視するキャストなので安全なキャスト。2,147,483,647より大きな数にならないこと |
} | } | ||
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, float fArgVal2); |
− | void COverloadSum(float* pfArgVal); | + | void COverloadSum(float* pfArgVal,int iSizeArgVal); |
</syntaxhighlight2> | </syntaxhighlight2> | ||