static・静的メンバ関数
スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般
static・静的メンバ変数で、メンバ変数をオブジェクトではなく、クラスに属するようにする方法を見ました。
メンバ関数についても、static宣言が可能であり、非静的データを使用しない関数は、静的メンバ関数として定義したほうが効率的です。
スポンサーリンク
#include <iostream> class obj_count { private: static int count; // 生成されたオブジェクトの数 public: // インクリメント obj_count() { ++count; } // デクリメント ~obj_count() { --count; } // count数を表示。静的メンバ関数。 static void display() { std::cout << count << "\n"; } }; // 静的メンバ変数countの初期化 int obj_count::count = 0; int main() { obj_count a_obj; obj_count::display(); // オブジェクトのカウント数 obj_count b_obj; obj_count::display(); // オブジェクトのカウント数。 obj_count c_obj; obj_count::display(); // オブジェクトのカウント数。 return 0; }
注意点。
1.static void display()でのクラス内での静的メンバ関数宣言。
2.obj_count::display()での、静的メンバ関数の呼び出し。
実行結果。
1 2 3
スポンサーリンク
>> 次の記事 : クラス継承・親クラスと子クラス
<< 前の記事 : static・静的メンバ変数
- - 関連記事 -
- 派生クラスのコンストラクタ・デストラクタ
- 派生クラスによる関数の隠蔽
- 仮想クラス
- 抽象クラス
- 仮想関数・virtualキーワード
- 親クラスの引数ありコンストラクタを子クラスから初期化・動的サイズのスタック
- クラスのアクセス制限キーワード・private, protected, public
- スタックを実装したクラスを拡張する
- クラス継承・親クラスと子クラス
- static・静的メンバ変数
- 定数のconstメンバ関数をクラスに宣言
- 定数のconstメンバ変数をクラスに宣言
- フレンドクラス・friend
- フレンド関数・friend
- クラスの中にメンバ関数(メソッド)を実装する
- explicit・コンストラクタを明示する
- クラスで自動的に生成されるメンバ関数
- コピーコンストラクタ
- 引数つきのコンストラクタを持つクラス定義
- コンストラクタで自動的に初期化する
スポンサーリンク