Cpp クラス 継承 アップキャスト 新しいページはコチラ
提供: yonewiki
(→クラス 継承 アップキャスト) |
(→クラス 継承 アップキャスト) |
||
92行: | 92行: | ||
void CBaseInheritance::mf_vDispValue() { | void CBaseInheritance::mf_vDispValue() { | ||
int iSumMoney = mf_iBaseSumMoney(); | int iSumMoney = mf_iBaseSumMoney(); | ||
− | printf("BaseMoney=%d\n", iSumMoney); | + | printf("BaseMoney=%d total=%d\n", iSumMoney, m_iMoney); |
} | } | ||
147行: | 147行: | ||
m_iDeriveOption = iArgOption; | m_iDeriveOption = iArgOption; | ||
+ | m_iMoney = mf_iBaseSumMoney() + m_iDeriveOption; | ||
} | } | ||
348行: | 349行: | ||
CBaseInheritance objCBaseInheritance(3900, 12); | CBaseInheritance objCBaseInheritance(3900, 12); | ||
− | objCBaseInheritance. | + | objCBaseInheritance.mf_vDispValue(); |
CDeriveInheritance objCDeriveInheritance2Arg(2900, 12); | CDeriveInheritance objCDeriveInheritance2Arg(2900, 12); | ||
objCDeriveInheritance2Arg.mf_vDeriveSetOptionValue(600); | objCDeriveInheritance2Arg.mf_vDeriveSetOptionValue(600); | ||
− | objCDeriveInheritance2Arg. | + | objCDeriveInheritance2Arg.mf_vDispValue(); |
CDeriveInheritance objCDeriveInheritance3Arg(2900, 12, 600); | CDeriveInheritance objCDeriveInheritance3Arg(2900, 12, 600); | ||
− | objCDeriveInheritance3Arg. | + | objCDeriveInheritance3Arg.mf_vDispValue(); |
int piOptionArr[] = { 300, 500, 400, 390 }; | int piOptionArr[] = { 300, 500, 400, 390 }; | ||
int iSize = (int)(sizeof piOptionArr / sizeof(*piOptionArr)); | int iSize = (int)(sizeof piOptionArr / sizeof(*piOptionArr)); | ||
CDeriveArrInheritance objCDeriveArrInheritance(3900, 12, piOptionArr, iSize); | CDeriveArrInheritance objCDeriveArrInheritance(3900, 12, piOptionArr, iSize); | ||
− | objCDeriveArrInheritance. | + | objCDeriveArrInheritance.mf_vDispValue()(); |
CDeriveDiscountInheritance objCDeriveDiscountInheritance(3900, 12, 0.5); | CDeriveDiscountInheritance objCDeriveDiscountInheritance(3900, 12, 0.5); | ||
− | objCDeriveDiscountInheritance. | + | objCDeriveDiscountInheritance.mf_vDispValue(); |
return 0; | return 0; | ||
378行: | 379行: | ||
Constructor:CBaseInheritance(int,int) | Constructor:CBaseInheritance(int,int) | ||
Constructor:CDriveInheritance(int,int) | Constructor:CDriveInheritance(int,int) | ||
− | + | BaseMoney=34800, total=35700 | |
Constructor:CBaseInheritance(int,int) | Constructor:CBaseInheritance(int,int) | ||
Constructer:CDeriveInheritance(int,int,int) | Constructer:CDeriveInheritance(int,int,int) | ||
− | + | BaseMoney=34800, total=35700 | |
Constructor:CBaseInheritance(int,int) | Constructor:CBaseInheritance(int,int) | ||
Constructer:CDeriveArrInheritance(int,int,int*,int) | Constructer:CDeriveArrInheritance(int,int,int*,int) | ||
− | + | BaseMoney=46800, total=48390 | |
Constructor:CBaseInheritance(int,int) | Constructor:CBaseInheritance(int,int) | ||
Constructer:CDeriveDiscountInheritance(int,int,double) | Constructer:CDeriveDiscountInheritance(int,int,double) | ||
− | + | BaseMoney=46800, total=23400 | |
Destructer:~CDeriveDiscountInheritance() | Destructer:~CDeriveDiscountInheritance() | ||
Destructor:~CBaseInheritance() | Destructor:~CBaseInheritance() | ||
429行: | 430行: | ||
CBaseInheritance* pCBaseInheritanceUpcast; | CBaseInheritance* pCBaseInheritanceUpcast; | ||
pCBaseInheritanceUpcast = pCBaseInheritanceUpcastF(1); | pCBaseInheritanceUpcast = pCBaseInheritanceUpcastF(1); | ||
− | pCBaseInheritanceUpcast-> | + | pCBaseInheritanceUpcast->mf_vDispValue(); |
pCBaseInheritanceUpcast = pCBaseInheritanceUpcastF(2); | pCBaseInheritanceUpcast = pCBaseInheritanceUpcastF(2); | ||
− | pCBaseInheritanceUpcast-> | + | pCBaseInheritanceUpcast->mf_vDispValue(); |
pCBaseInheritanceUpcast = pCBaseInheritanceUpcastF(3); | pCBaseInheritanceUpcast = pCBaseInheritanceUpcastF(3); | ||
− | pCBaseInheritanceUpcast-> | + | pCBaseInheritanceUpcast->mf_vDispValue(); |
delete pCBaseInheritanceUpcast; | delete pCBaseInheritanceUpcast; | ||