Cpp クラス コンストラクタ 新しいページはコチラ

提供: yonewiki
移動: 案内, 検索
(クラス コンストラクタ)
 
1行: 1行:
 +
[[C PlusPlus#C++からの技術|C++]]に戻る
 +
 +
 
<table class="mbox-small" style="border:1px solid #aaa; background-color:#f9f9f9; width:22em;" id="RealTitleBanner">
 
<table class="mbox-small" style="border:1px solid #aaa; background-color:#f9f9f9; width:22em;" id="RealTitleBanner">
 
<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>
8行: 11行:
 
<br />
 
<br />
 
== '''クラス コンストラクタ''' ==
 
== '''クラス コンストラクタ''' ==
 +
 
コンストラクタとは、クラスが実体化されたとき、クラス変数が作られたときに自動的に呼び出される関数です。変数生成時に初期化引数を与えられた場合には、自動的に呼び出される関数が引数の形式と一致するものが呼び出されます。
 
コンストラクタとは、クラスが実体化されたとき、クラス変数が作られたときに自動的に呼び出される関数です。変数生成時に初期化引数を与えられた場合には、自動的に呼び出される関数が引数の形式と一致するものが呼び出されます。
  
48行: 52行:
 
int _tmain(int argc, _TCHAR* argv[])
 
int _tmain(int argc, _TCHAR* argv[])
 
{
 
{
   CConstructor001 CConstructor001_instance;
+
   CConstructor001 CConstructor001_obj;
 
   return 0;
 
   return 0;
 
}
 
}
106行: 110行:
  
  
int型のようにクラスの実体そのものがなんらかの値を返すことができるような工夫がなければint型と同じようなコンストラクタは作れません。そのことについては後で記述したいと思います。
+
int型の引数をとるコンストラクタを作成しましたので、以下のような感じでクラス変数や実体を作るような処理の初期化が実施できるようになります。3つめの代入するような記述方法では、複数の引数を設定できないので、少し特殊な初期化になってしまいます。配列を初期値に渡せる場合は配列の初期化のような記述もできるでしょう。
 +
 
 +
 
 +
*  '''CConstructor001* CConstructor001_Instance = new CConstructor001(1);'''
 +
*  '''CConstructor001 CConstructor_obj(1);'''
 +
*  '''CConstructor001 CConstructor2_obj = 1;'''
 +
 
 +
 
 +
いろいろな引数のコンストラクタを定義することのサンプルの説明については省略しますが、引数の個数によって処理を変える場合は、選択されるコンストラクタの関数の各処理で不具合が怒らないように慎重に作らなければならないことに注意が必要です。引数の個数によってまったくことなるプログラムが実行されるということを覚えておきましょう。こういった同じ関数名で引数の種類だけをかえた関数を作ることもオーバロードと表現することがあります。オーバロードを活用する手法については議論や検討やさらなる学習が必要になると思います。
 +
 
 +
 
 +
[[C PlusPlus#C++からの技術|C++]]に戻る

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



個人用ツール
名前空間

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