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

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

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-24 19:25:02213ブラウズ

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。