Cpp クラス 継承 アップキャスト 新しいページはコチラ

提供: yonewiki
移動: 案内, 検索
(クラス 継承 アップキャスト)
(クラス 継承 アップキャスト)
53行: 53行:
 
     int m_iBaseMoney = 0;
 
     int m_iBaseMoney = 0;
 
     int m_iBaseMonth = 0;
 
     int m_iBaseMonth = 0;
 +
    int m_iMoney = 0;
 
     int mf_iBaseSumMoney();
 
     int mf_iBaseSumMoney();
 
public:
 
public:
72行: 73行:
 
}
 
}
  
CBaseInheritance::CBaseInheritance(int iArgBaseMoney, int iArgBaseMonth) {
+
CBaseInheritance::CBaseInheritance(int iArgBaseMoney, int iArgBaseMonth)
    m_iBaseMoney = iArgBaseMoney;
+
                :m_iBaseMoney(iArgBaseMoney)
    m_iBaseMonth = iArgBaseMonth;
+
                ,m_iBaseMonth(iArgBaseMonth)
 +
                ,m_iMoney(0) {
 
     printf("Constructor:CBaseInheritance(int,int)\n");
 
     printf("Constructor:CBaseInheritance(int,int)\n");
 
}
 
}
83行: 85行:
  
 
int CBaseInheritance::mf_iBaseSumMoney() {
 
int CBaseInheritance::mf_iBaseSumMoney() {
     return (m_iBaseMoney * m_iBaseMonth);
+
     m_iMoney = m_iBaseMoney * m_iBaseMonth;
 +
    return m_iMoney;
 
}
 
}
  
115行: 118行:
 
     ~CDeriveInheritance();
 
     ~CDeriveInheritance();
 
     void mf_vDeriveDispValue();
 
     void mf_vDeriveDispValue();
 +
    int mf_iDeriveOption();
 
     int mf_iDeriveSumMoney();
 
     int mf_iDeriveSumMoney();
 
     void mf_vDeriveSetOptionValue(int iArgOptionValue);
 
     void mf_vDeriveSetOptionValue(int iArgOptionValue);
152行: 156行:
 
m_iDeriveOption = iArgOptionMoney;
 
m_iDeriveOption = iArgOptionMoney;
 
}
 
}
 +
 +
int CDeriveInheritance::mf_iDeriveOption() {
 +
return m_iDeriveOption;
 +
}
 +
  
 
int CDeriveInheritance::mf_iDeriveSumMoney() {
 
int CDeriveInheritance::mf_iDeriveSumMoney() {
return mf_iBaseSumMoney() + m_iDeriveOption;
+
m_iMoney = mf_iBaseSumMoney() + m_iDeriveOption;
 +
return m_iMoney;
 
}
 
}
  
180行: 190行:
 
     int m_iSize = 0;
 
     int m_iSize = 0;
 
     int* m_piDeriveOptionArr = nullptr;
 
     int* m_piDeriveOptionArr = nullptr;
    void mf_vDeriveSumMoney();
 
 
public:
 
public:
 
     CDeriveArrInheritance(int iArgMoney, int iArgMonth);
 
     CDeriveArrInheritance(int iArgMoney, int iArgMonth);
188行: 197行:
  
 
     void mf_vDeriveSetArrOption(int* piArgOption);
 
     void mf_vDeriveSetArrOption(int* piArgOption);
 +
    int mf_iDeriveSumMoney();
 
     int  mf_iDeriveGetArrOption();
 
     int  mf_iDeriveGetArrOption();
 
};
 
};
227行: 237行:
 
}
 
}
  
void CDeriveArrInheritance::mf_vDeriveSumMoney() {
+
int CDeriveArrInheritance::mf_iDeriveSumMoney() {
 
for (int iScan = 0; iScan < m_iSize; iScan++) {
 
for (int iScan = 0; iScan < m_iSize; iScan++) {
 
m_iDeriveOption += m_piDeriveOptionArr[iScan];
 
m_iDeriveOption += m_piDeriveOptionArr[iScan];
 
}
 
}
 +
m_iMoney = m_iDeriveOption + mf_iBaseSumMoney();
 +
return m_iMoney;
 
}
 
}
  
238行: 250行:
 
m_piDeriveOptionArr[iScan] = piArgOption[iScan];
 
m_piDeriveOptionArr[iScan] = piArgOption[iScan];
 
}
 
}
mf_vDeriveSumMoney();
+
mf_iDeriveSumMoney();
 
}
 
}
 +
 +
 
</syntaxhighlight2>
 
</syntaxhighlight2>
  
269行: 283行:
  
 
     void mf_iDeriveSetDiscount(double dRate);
 
     void mf_iDeriveSetDiscount(double dRate);
 +
    int mf_iDeriveSumMoney();
 
};
 
};
 
#endif
 
#endif
287行: 302行:
 
printf("Constructer:CDeriveDiscountInheritance(int,int,double)\n");
 
printf("Constructer:CDeriveDiscountInheritance(int,int,double)\n");
 
m_dRate = dArgRate;
 
m_dRate = dArgRate;
 +
mf_iDeriveSumMoney();
 
}
 
}
  
292行: 308行:
 
printf("Destructer:~CDeriveDiscountInheritance()\n");
 
printf("Destructer:~CDeriveDiscountInheritance()\n");
 
}
 
}
 +
  
 
void CDeriveDiscountInheritance::mf_iDeriveSetDiscount(double dArgRate) {
 
void CDeriveDiscountInheritance::mf_iDeriveSetDiscount(double dArgRate) {
 
m_dRate = dArgRate;
 
m_dRate = dArgRate;
 +
mf_iDeriveSumMoney();
 
}
 
}
  
 
void CDeriveDiscountInheritance::mf_vDeriveDiscountDispValue() {
 
void CDeriveDiscountInheritance::mf_vDeriveDiscountDispValue() {
int iSumMoney = (int)(m_dRate * mf_iBaseSumMoney() + 0.5);
+
int iSumMoney = mf_iDeriveSumMoney();
 
printf("DeriveMoney=%d\n", iSumMoney);
 
printf("DeriveMoney=%d\n", iSumMoney);
 +
}
 +
 +
int CDeriveDiscountInheritance::mf_iDeriveSumMoney() {
 +
m_iMoney = (int)(m_dRate * mf_iBaseSumMoney() + 0.5);
 +
return m_iMoney;
 
}
 
}
 
</syntaxhighlight2>
 
</syntaxhighlight2>

2020年7月23日 (木) 00:00時点における版



個人用ツール
名前空間

変種
操作
案内
ツールボックス