如何在C++中创建静态类?我应该能够做类似的事情:

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

假设我创建了BitParser类。 BitParser类定义是什么样的?

最佳答案

如果您正在寻找一种将“static”关键字应用于类的方式(例如在C#中),那么如果不使用Managed C++,您将无法做到。

但是,从示例的外观来看,您只需要在BitParser对象上创建一个公共(public)静态方法。像这样:

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() {}
};

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

您可以使用此代码以与示例代码相同的方式调用方法。

希望有帮助!干杯。

10-07 22:28