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

提供: yonewiki
移動: 案内, 検索
(クラス 継承 アップキャスト)
 
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>
66行: 66行:
  
 
<span style="color: #ffffff; background-color: #555555; padding: 0px 5px 0px 5px; display: inline-block;">cpp <span>(</span>基底クラス BaseInheritance.cpp<span>)</span><!-- padding 上 右 下 左-->
 
<span style="color: #ffffff; background-color: #555555; padding: 0px 5px 0px 5px; display: inline-block;">cpp <span>(</span>基底クラス BaseInheritance.cpp<span>)</span><!-- padding 上 右 下 左-->
<syntaxhighlight2 lang="cpp" line>
+
<syntaxhighlight2 lang="cpp" line start=100>
 
#include "pch.h"
 
#include "pch.h"
 
#include "BaseInheritance.h"
 
#include "BaseInheritance.h"
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);
 
}
 
}
  
107行: 107行:
  
 
<span style="color: #ffffff; background-color: #555555; padding: 0px 5px 0px 5px; display: inline-block;">cpp <span>(</span>派生クラス DeriveInheritance.h<span>)</span><!-- padding 上 右 下 左-->
 
<span style="color: #ffffff; background-color: #555555; padding: 0px 5px 0px 5px; display: inline-block;">cpp <span>(</span>派生クラス DeriveInheritance.h<span>)</span><!-- padding 上 右 下 左-->
<syntaxhighlight2 lang="cpp" line>
+
<syntaxhighlight2 lang="cpp" line start=200>
 
#ifndef __DERIVEINHERITANCE_H_YONET__
 
#ifndef __DERIVEINHERITANCE_H_YONET__
 
#define __DERIVEINHERITANCE_H_YONET__
 
#define __DERIVEINHERITANCE_H_YONET__
132行: 132行:
  
 
<span style="color: #ffffff; background-color: #555555; padding: 0px 5px 0px 5px; display: inline-block;">cpp <span>(</span>派生クラス DeriveInheritance.cpp<span>)</span><!-- padding 上 右 下 左-->
 
<span style="color: #ffffff; background-color: #555555; padding: 0px 5px 0px 5px; display: inline-block;">cpp <span>(</span>派生クラス DeriveInheritance.cpp<span>)</span><!-- padding 上 右 下 左-->
<syntaxhighlight2 lang="cpp" line>
+
<syntaxhighlight2 lang="cpp" line start=300>
 
#include "pch.h"
 
#include "pch.h"
 
#include "DeriveInheritance.h"
 
#include "DeriveInheritance.h"
147行: 147行:
 
 
 
m_iDeriveOption = iArgOption;
 
m_iDeriveOption = iArgOption;
 +
        m_iMoney = mf_iBaseSumMoney() + m_iDeriveOption;
 
}
 
}
  
182行: 183行:
  
 
<span style="color: #ffffff; background-color: #555555; padding: 0px 5px 0px 5px; display: inline-block;">cpp <span>(</span>配列入力の派生クラス DeriveArrInheritance.h<span>)</span><!-- padding 上 右 下 左-->
 
<span style="color: #ffffff; background-color: #555555; padding: 0px 5px 0px 5px; display: inline-block;">cpp <span>(</span>配列入力の派生クラス DeriveArrInheritance.h<span>)</span><!-- padding 上 右 下 左-->
<syntaxhighlight2 lang="cpp" line>
+
<syntaxhighlight2 lang="cpp" line start=400>
 
#ifndef __DERIVEARRINHERITANCE_H_YONET__
 
#ifndef __DERIVEARRINHERITANCE_H_YONET__
 
#define __DERIVEARRINHERITANCE_H_YONET__
 
#define __DERIVEARRINHERITANCE_H_YONET__
210行: 211行:
  
 
<span style="color: #ffffff; background-color: #555555; padding: 0px 5px 0px 5px; display: inline-block;">cpp <span>(</span>配列入力の派生クラス DeriveArrInheritance.cpp<span>)</span><!-- padding 上 右 下 左-->
 
<span style="color: #ffffff; background-color: #555555; padding: 0px 5px 0px 5px; display: inline-block;">cpp <span>(</span>配列入力の派生クラス DeriveArrInheritance.cpp<span>)</span><!-- padding 上 右 下 左-->
<syntaxhighlight2 lang="cpp" line>
+
<syntaxhighlight2 lang="cpp" line start=500>
 
#include "pch.h"
 
#include "pch.h"
 
#include "DeriveArrInheritance.h"
 
#include "DeriveArrInheritance.h"
269行: 270行:
  
 
<span style="color: #ffffff; background-color: #555555; padding: 0px 5px 0px 5px; display: inline-block;">cpp <span>(</span>割引の派生クラス DeriveDiscountInheritance.h<span>)</span><!-- padding 上 右 下 左-->
 
<span style="color: #ffffff; background-color: #555555; padding: 0px 5px 0px 5px; display: inline-block;">cpp <span>(</span>割引の派生クラス DeriveDiscountInheritance.h<span>)</span><!-- padding 上 右 下 左-->
<syntaxhighlight2 lang="cpp" line>
+
<syntaxhighlight2 lang="cpp" line start=600>
 
#ifndef __DERIVEDISCOUNTINHERITANCE_H_YONET__
 
#ifndef __DERIVEDISCOUNTINHERITANCE_H_YONET__
 
#define __DERIVEDISCOUNTINHERITANCE_H_YONET__
 
#define __DERIVEDISCOUNTINHERITANCE_H_YONET__
295行: 296行:
  
 
<span style="color: #ffffff; background-color: #555555; padding: 0px 5px 0px 5px; display: inline-block;">cpp <span>(</span>割引の派生クラス DeriveDiscountInheritance.cpp<span>)</span><!-- padding 上 右 下 左-->
 
<span style="color: #ffffff; background-color: #555555; padding: 0px 5px 0px 5px; display: inline-block;">cpp <span>(</span>割引の派生クラス DeriveDiscountInheritance.cpp<span>)</span><!-- padding 上 右 下 左-->
<syntaxhighlight2 lang="cpp" line>
+
<syntaxhighlight2 lang="cpp" line start=700>
 
#include "pch.h"
 
#include "pch.h"
 
#include "DeriveDiscountInheritance.h"
 
#include "DeriveDiscountInheritance.h"
338行: 339行:
  
 
<span style="color: #ffffff; background-color: #555555; padding: 0px 5px 0px 5px; display: inline-block;">cpp <span>(</span>メイン関数 InheritanceMain.cpp<span>)</span><!-- padding 上 右 下 左-->
 
<span style="color: #ffffff; background-color: #555555; padding: 0px 5px 0px 5px; display: inline-block;">cpp <span>(</span>メイン関数 InheritanceMain.cpp<span>)</span><!-- padding 上 右 下 左-->
<syntaxhighlight2 lang="cpp" line>
+
<syntaxhighlight2 lang="cpp" line start=800>
 
#include "pch.h"
 
#include "pch.h"
 
#include "BaseInheritance.h"
 
#include "BaseInheritance.h"
348行: 349行:
 
   
 
   
 
     CBaseInheritance objCBaseInheritance(3900, 12);
 
     CBaseInheritance objCBaseInheritance(3900, 12);
     objCBaseInheritance.mf_vBaseDispValue();
+
     objCBaseInheritance.mf_vDispValue();
  
 
     CDeriveInheritance objCDeriveInheritance2Arg(2900, 12);
 
     CDeriveInheritance objCDeriveInheritance2Arg(2900, 12);
 
     objCDeriveInheritance2Arg.mf_vDeriveSetOptionValue(600);
 
     objCDeriveInheritance2Arg.mf_vDeriveSetOptionValue(600);
     objCDeriveInheritance2Arg.mf_vDeriveDispValue();
+
     objCDeriveInheritance2Arg.mf_vDispValue();
  
 
     CDeriveInheritance objCDeriveInheritance3Arg(2900, 12, 600);
 
     CDeriveInheritance objCDeriveInheritance3Arg(2900, 12, 600);
     objCDeriveInheritance3Arg.mf_vDeriveDispValue();
+
     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.mf_vDeriveArrDispValue();
+
     objCDeriveArrInheritance.mf_vDispValue()();
  
 
     CDeriveDiscountInheritance objCDeriveDiscountInheritance(3900, 12, 0.5);
 
     CDeriveDiscountInheritance objCDeriveDiscountInheritance(3900, 12, 0.5);
     objCDeriveDiscountInheritance.mf_vDeriveDiscountDispValue();
+
     objCDeriveDiscountInheritance.mf_vDispValue();
  
 
     return 0;
 
     return 0;
373行: 374行:
  
 
<span style="color: #ffffff; background-color: #555555; padding: 0px 5px 0px 5px; display: inline-block;">実行結果<!-- padding 上 右 下 左-->
 
<span style="color: #ffffff; background-color: #555555; padding: 0px 5px 0px 5px; display: inline-block;">実行結果<!-- padding 上 右 下 左-->
<syntaxhighlight2 lang="text" line>
+
<syntaxhighlight2 lang="text" line start=900>
 
Constructor:CBaseInheritance(int,int)
 
Constructor:CBaseInheritance(int,int)
BaseMoney=46800
+
BaseMoney=46800, total=35700
 
Constructor:CBaseInheritance(int,int)
 
Constructor:CBaseInheritance(int,int)
 
Constructor:CDriveInheritance(int,int)
 
Constructor:CDriveInheritance(int,int)
DeriveMoney=35400
+
BaseMoney=34800, total=35700
 
Constructor:CBaseInheritance(int,int)
 
Constructor:CBaseInheritance(int,int)
 
Constructer:CDeriveInheritance(int,int,int)
 
Constructer:CDeriveInheritance(int,int,int)
DeriveMoney=35400
+
BaseMoney=34800, total=35700
 
Constructor:CBaseInheritance(int,int)
 
Constructor:CBaseInheritance(int,int)
 
Constructer:CDeriveArrInheritance(int,int,int*,int)
 
Constructer:CDeriveArrInheritance(int,int,int*,int)
DeriveMoney=48390
+
BaseMoney=46800, total=48390
 
Constructor:CBaseInheritance(int,int)
 
Constructor:CBaseInheritance(int,int)
 
Constructer:CDeriveDiscountInheritance(int,int,double)
 
Constructer:CDeriveDiscountInheritance(int,int,double)
DeriveMoney=23400
+
BaseMoney=46800, total=23400
 
Destructer:~CDeriveDiscountInheritance()
 
Destructer:~CDeriveDiscountInheritance()
 
Destructor:~CBaseInheritance()
 
Destructor:~CBaseInheritance()
405行: 406行:
  
 
<span style="color: #ffffff; background-color: #555555; padding: 0px 5px 0px 5px; display: inline-block;">cpp <span>(</span>メイン関数 InheritanceMain.cpp<span>)</span><!-- padding 上 右 下 左-->
 
<span style="color: #ffffff; background-color: #555555; padding: 0px 5px 0px 5px; display: inline-block;">cpp <span>(</span>メイン関数 InheritanceMain.cpp<span>)</span><!-- padding 上 右 下 左-->
<syntaxhighlight2 lang="cpp" line>
+
<syntaxhighlight2 lang="cpp" line start=1000>
 
#include "pch.h"
 
#include "pch.h"
 
#include "BaseInheritance.h"
 
#include "BaseInheritance.h"
429行: 430行:
 
     CBaseInheritance* pCBaseInheritanceUpcast;
 
     CBaseInheritance* pCBaseInheritanceUpcast;
 
     pCBaseInheritanceUpcast = pCBaseInheritanceUpcastF(1);
 
     pCBaseInheritanceUpcast = pCBaseInheritanceUpcastF(1);
     pCBaseInheritanceUpcast->mf_vBaseDispValue();
+
     pCBaseInheritanceUpcast->mf_vDispValue();
 
     pCBaseInheritanceUpcast = pCBaseInheritanceUpcastF(2);
 
     pCBaseInheritanceUpcast = pCBaseInheritanceUpcastF(2);
     pCBaseInheritanceUpcast->mf_vBaseDispValue();
+
     pCBaseInheritanceUpcast->mf_vDispValue();
 
     pCBaseInheritanceUpcast = pCBaseInheritanceUpcastF(3);
 
     pCBaseInheritanceUpcast = pCBaseInheritanceUpcastF(3);
     pCBaseInheritanceUpcast->mf_vBaseDispValue();
+
     pCBaseInheritanceUpcast->mf_vDispValue();
 
     delete pCBaseInheritanceUpcast;
 
     delete pCBaseInheritanceUpcast;
  
448行: 449行:
  
 
<span style="color: #ffffff; background-color: #555555; padding: 0px 5px 0px 5px; display: inline-block;">実行結果<!-- padding 上 右 下 左-->
 
<span style="color: #ffffff; background-color: #555555; padding: 0px 5px 0px 5px; display: inline-block;">実行結果<!-- padding 上 右 下 左-->
<syntaxhighlight2 lang="text" line>
+
<syntaxhighlight2 lang="text" line start=1100>
 
Constructor:CBaseInheritance(int,int)
 
Constructor:CBaseInheritance(int,int)
 
Constructor:CDriveInheritance(int,int)
 
Constructor:CDriveInheritance(int,int)
BaseMoney=34800
+
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=34800
+
BaseMoney=34800, total=36520
 
Constructor:CBaseInheritance(int,int)
 
Constructor:CBaseInheritance(int,int)
 
Constructer:CDeriveDiscountInheritance(int,int,double)
 
Constructer:CDeriveDiscountInheritance(int,int,double)
BaseMoney=46800
+
BaseMoney=46800, total=23400
 
Destructor:~CBaseInheritance()
 
Destructor:~CBaseInheritance()
 
</syntaxhighlight2>
 
</syntaxhighlight2>

2021年2月6日 (土) 00:00時点における最新版



個人用ツール
名前空間

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