ホームページ > バックエンド開発 > C++ > C で静的クラスのような動作を作成するにはどうすればよいですか?

C で静的クラスのような動作を作成するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-10-24 19:25:02
オリジナル
328 人が閲覧しました

How to Create a Static Class-like Behavior in C  ?

C での静的クラスの作成

C は、C# のような静的クラスをネイティブにサポートしていません。C# では、クラスが静的としてマークされると、クラスが静的としてマークされることがあります。インスタンス化。ただし、すべての静的メソッドを含むクラスを作成することによって、同様の効果を達成することは可能です。

実装

すべての静的メソッドを含む C クラスを作成するには:

  1. パブリック アクセス指定子を使用してクラスを定義します。
  2. クラス内のすべてのメソッドを静的として宣言します。
  3. クラスのインスタンス化を防ぐためにコンストラクターをプライベートにするか削除します。

次の BitParser クラスを考えてみましょう:

<code class="cpp">// BitParser.h
class BitParser
{
public:
  static bool getBitAt(int buffer, int bitIndex);
};</code>
ログイン後にコピー
<code class="cpp">// BitParser.cpp
bool BitParser::getBitAt(int buffer, int bitIndex)
{
  // Code to determine if the bit is set
}</code>
ログイン後にコピー

使用法

このクラスを使用すると、インスタンスを作成せずに静的メソッドにアクセスできます:

<code class="cpp">cout << "bit 5 is " << BitParser::getBitAt(buffer, 5) << endl;</code>
ログイン後にコピー

注:

このアプローチは、次のことを保証することにより、静的クラスを効果的にエミュレートします。クラスのインスタンスは作成できず、そのすべての機能には静的メソッドを通じてアクセスできます。

以上がC で静的クラスのような動作を作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート