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 /> | ||
== '''静的メンバ関数''' == | == '''静的メンバ関数''' == | ||
+ | |||
静的メンバ変数と同じようなで静的メンバ関数があります。これもクラスが実体化されていなくても呼び出せるもので、静的メンバ変数は呼び出せるオブジェクト変数としての役割でしたが、ここでは呼び出し可能な関数であるということになります。実体化されていないメンバ関数は実体がないのですから、通常の静的ではないメンバ変数や関数は呼び出すことが出来ません。実体化されていないのですから、まだコンストラクタも動作していなければメンバ変数の初期化もされていないし、もし実体化されていたとしても、実体ごとに異なる値を保持していても区別して呼び出す方法、静的なメンバ関数の内部からは外部で生成されたであろう、クラスの実体を参照することは出来ないし、予測もできないので、通常のメンバ変数やメンバ関数が呼び出せないのは、ごく自然なことです。 | 静的メンバ変数と同じようなで静的メンバ関数があります。これもクラスが実体化されていなくても呼び出せるもので、静的メンバ変数は呼び出せるオブジェクト変数としての役割でしたが、ここでは呼び出し可能な関数であるということになります。実体化されていないメンバ関数は実体がないのですから、通常の静的ではないメンバ変数や関数は呼び出すことが出来ません。実体化されていないのですから、まだコンストラクタも動作していなければメンバ変数の初期化もされていないし、もし実体化されていたとしても、実体ごとに異なる値を保持していても区別して呼び出す方法、静的なメンバ関数の内部からは外部で生成されたであろう、クラスの実体を参照することは出来ないし、予測もできないので、通常のメンバ変数やメンバ関数が呼び出せないのは、ごく自然なことです。 | ||
28行: | 32行: | ||
− | + | またイチからサンプルをつくるのもなんなので、[[Cpp クラス メンバ関数|メンバ関数]]の記事を記述したときに使ったプログラムを改造することでサンプルにしてみたいと思います。 | |
128行: | 132行: | ||
− | + | このようにクラスに関係のある、変数の入れ替え処理として静的なメンバ関数を定義したことになり、クラスの中に含めて、記述することが非常に自然な振る舞いであることがわかっていただけたと思います。たぶん… | |
+ | |||
+ | |||
+ | 静的メンバ関数とはこういうものです。ちなみに関数名にXerSwapとしましたが、XにはTransという意味がありまして、Transfer Xferで変換という意味があります。Trasn自体はその向こうにというような意味があります。またぐというような意味あいから交差を意味するXがしばしば代用される慣習がうまれたものと思われます。Xerだと略しすぎなので本来はXferとして表現すべきなのかもしれません。他にもXにはいろいろな使い方がされます。そのあたりの詳細な解説はWikipediaのXの記事にゆずりたいと思います。交換変換か… | ||
+ | |||
+ | |||
+ | [[C PlusPlus#C++からの技術|C++]]に戻る |