1. ホーム
  2. c++

[解決済み】C++で静的クラスを作成する方法は?

2022-03-29 16:03:37

質問

C++で静的なクラスを作成するにはどうすればよいのでしょうか?というようなことができればいいのですが。

cout << "bit 5 is " << BitParser::getBitAt(buffer, 5) << endl;

を作成したと仮定すると BitParser クラスがあります。このクラスは BitParser のクラス定義はどのようなものでしょうか?

どのように解決するのですか?

例えばC#でできるように、クラスに"static"キーワードを適用する方法を探しているなら、Managed C++を使わないとできないでしょう。

しかし、あなたのサンプルを見る限り、BitParserオブジェクトにパブリックスタティックメソッドを作成する必要があります。このように。

BitParser.h

class BitParser
{
 public:
  static bool getBitAt(int buffer, int bitIndex);

  // ...lots of great stuff

 private:
  // Disallow creating an instance of this object
  BitParser() {}
};

ビットパーサー.cpp

bool BitParser::getBitAt(int buffer, int bitIndex)
{
  bool isBitSet = false;
  // .. determine if bit is set
  return isBitSet;
}

このコードを使って、例のコードと同じようにメソッドを呼び出すことができます。