如下所示。我如何使用 alphabet 的
自己的成员函数为我的 static 成员
初始化 alphabet
变量?我需要从“Text.cpp”实现文件中进行初始化。
Text.h
class Text {
private:
struct Font {
enum Enum {
Arial,
Menlo,
Times
};
};
static Alphabet alphabet[3]; // library of letters
}; // class
我需要如下所示的东西,只是完成任务的正确方法。我还需要在运行期间只初始化一次 alphabet
,因此我将 alphabet
设为静态。谢谢。 ^^
Text.cpp
Alphabet Text::alphabet[Text::Font::Arial].Load("./Alphabet/", "Arial", ".xml"));
Alphabet Text::alphabet[Text::Font::Menlo].Load("./Alphabet/", "Menlo", ".xml"));
Alphabet Text::alphabet[Text::Font::Times].Load("./Alphabet/", "Times", ".xml"));
最佳答案
假设 Alphabet 有一个参数化构造函数,您可以在单个翻译单元(在 Text.cpp 文件中)中这样做,
Alphabet Text::alphabet[] = { ("./Alphabet/", "Arial", ".xml"),
("./Alphabet/", "Menlo", ".xml"),
("./Alphabet/", "Times", ".xml") };
关于c++ - 静态成员变量初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16517427/