Cpp NameSpace 新しいページはコチラ
提供: yonewiki
(→bool型) |
(→namespace) |
||
| 15行: | 15行: | ||
int Function(){return 1;}; | int Function(){return 1;}; | ||
Class CTestClass{ | Class CTestClass{ | ||
| − | int TestFunc() | + | int TestFunc(); |
}; | }; | ||
namespace TestCode2{ | namespace TestCode2{ | ||
| 24行: | 24行: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
といった具合に名前を付けたい領域を{}で囲った上で名前を付与します。このような名前の付与は入れ子にすることも可能で、定義したクラスや関数はスコープ解決演算子 '''::''' を用いて、明確に指定することができます。 | といった具合に名前を付けたい領域を{}で囲った上で名前を付与します。このような名前の付与は入れ子にすることも可能で、定義したクラスや関数はスコープ解決演算子 '''::''' を用いて、明確に指定することができます。 | ||
| + | |||
| + | 例えば | ||
| + | |||
| + | 1を返却する関数Functionを呼び出す場合には | ||
| + | <syntaxhighlight lang="cpp"> | ||
| + | nReturn = TestCode::Function(); | ||
| + | </syntaxhighlight> | ||
| + | と上記のように指定し、 | ||
| + | |||
| + | 2を返却する関数Functionを呼び出す場合には | ||
| + | <syntaxhighlight lang="cpp"> | ||
| + | nReturn = TestCode::TestCode2::Function(); | ||
| + | </syntaxhighlight> | ||
| + | のようにスコープ解決演算子を階層指定するような感じで記述することで、同じ名前の関数についても明確に区分けして呼び出すことができます。同一の名前のクラス名や関数名が使われることは稀ですが、どうしても重複してしまうような場合には、このような名前空間の定義を用いて区分けすることができます。 | ||
| + | |||
| + | クラスCTestClassの中のTestFuncメンバ関数を定義する場合には、同一の名前空間上定義する必要があるため | ||
| + | <syntaxhighlight lang="cpp"> | ||
| + | namespace TestCode{ | ||
| + | int CTestFunc::TestFunc(){ | ||
| + | return 1; | ||
| + | } | ||
| + | } | ||
| + | </syntaxhighlight> | ||
| + | のようにして定義します。あるいはnamespaceによる空間設定を省略した表記として | ||
| + | <syntaxhighlight lang="cpp"> | ||
| + | int TestCode::CTestFunc::TestFunc(){ | ||
| + | return 1; | ||
| + | } | ||
| + | </syntaxhighlight> | ||
| + | と書くことも出来ます。 | ||