如何在C ++中创建一个静态类? [英] How do you create a static class in C++?
问题描述
如何在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类。
Assuming I created the BitParser class. What would the BitParser class definition look like?
推荐答案
如果您正在寻找一种将static关键字应用于一个类,就像你可以在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 ++中创建一个静态类?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!