インスタンス生成せずにメンバ関数を実行する

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
マント

インスタンス生成せずにメンバ関数を実行する

#1

投稿記事 by マント » 11年前

このサイトのコンテンツであるゲームプログラミングの館のサンプルプログラム(C++)の項目のsp.1に
記述されているソースコードについて分からないことがあったので質問させてください

このページでSingletonクラスのインスタンス取得の為、main.cppから
SingletonクラスのInstance関数を呼び出す文があるのですがSingleton::Instance()と記述されています

なぜインスタンスを生成していないのに関わらずInstance関数を呼び出せるのですか?
また、この場合の::(コロン二つ)にはどういう意味があるのですか?


ご教授いただければ幸いです
よろしくお願いします

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

Re: インスタンス生成せずにメンバ関数を実行する

#2

投稿記事 by みけCAT » 11年前

新・C言語 ~ゲームプログラミングの館~ [DXライブラリ]
ここのことですね?
マント さんが書きました:なぜインスタンスを生成していないのに関わらずInstance関数を呼び出せるのですか?
SingletonクラスのInstance関数はstatic指定されているからです。
[search=google]C++ メンバ関数 static[/search]
マント さんが書きました:また、この場合の::(コロン二つ)にはどういう意味があるのですか?
「スコープ解決演算子」だと思います。
対象の関数が所属するクラスを示す意味があります。
[search=google]C++ スコープ解決演算子 static[/search]
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: インスタンス生成せずにメンバ関数を実行する

#3

投稿記事 by softya(ソフト屋) » 11年前

「スコープ解決演算子」と「static メンバ関数」の解説がないC++の入門書籍や入門サイトは止めた方が良いと思います。
もしちゃんと勉強していないなら、ちゃんとした書籍を読まれては?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

閉鎖

“C言語何でも質問掲示板” へ戻る