问题描述
你如何在 C++ 中创建静态类?我应该能够做这样的事情:
How do you create a static class in C++? I should be able to do something like:
cout << "bit 5 is " << BitParser::getBitAt(buffer, 5) << endl;
假设我创建了 BitParser
类.BitParser
类定义是什么样的?
Assuming I created the BitParser
class. What would the BitParser
class definition look like?
推荐答案
如果您正在寻找一种应用静态"的方法类的关键字,例如您可以在 C# 中,那么您将无法不使用托管 C++.
If you're looking for a way of applying the "static" keyword to a class, like you can in C# for example, then you won't be able to without using Managed C++.
但是从示例的外观来看,您只需要在 BitParser 对象上创建一个公共静态方法.像这样:
But the looks of your sample, you just need to create a public static method on your BitParser object. Like so:
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;
}
您可以使用此代码以与示例代码相同的方式调用该方法.
You can use this code to call the method in the same way as your example code.
这篇关于你如何在 C++ 中创建一个静态类?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!