多个变量的 C++ 初始化列表

标签 c++ class initialization-list

我正在尝试学习如何初始化列表。

我在下面有一个简单的类并试图初始化变量列表。第一个 Month(int m): month(m) 有效。我正在尝试使用多个变量在该行下方做类似的事情。这种格式可能吗?我是否必须摆脱单类机?

class Month
{
public:
    Month(int m) : month(m) {} //this works
    Month(char first, char second, char third) : first(first){} : second(second){} : third(third){} //DOES NOT WORK
    Month();
    void outputMonthNumber(); //void function that takes no parameters
    void outputMonthLetters(); //void function that takes no parameters
private:
    int month;
    char first;
    char second;
    char third;
};

显然我不知道如何做到这一点,任何指导将不胜感激,谢谢

最佳答案

试试这个:

  Month(char first, char second, char third) 
     : first(first), second(second), third(third) {} 

[您可以单行执行此操作。我将其拆分只是为了演示。]

空括号 {} 是构造函数的单体,在本例中是空的。

关于多个变量的 C++ 初始化列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7603981/

相关文章:

c++ - VBO 一般几何

c# - 鼠标事件监听器 - 在整个屏幕上?

python - 在 Python : How does it work? 中的模块之间传递数据的奇怪方式

c++ - Qt C++初始化列表困惑

c++ - 如何使 gRPC 服务器仅支持一个客户端连接

c++ - 在 C++ 中存储表的最佳方法是什么

java - 使用 3 个函数将温度从摄氏度转换为华氏度

javascript 不同的 OOP 方法标准

c++ - 成员初始化列表 : initialize two members from a function returning a tuple

c# - 使用反射在构造函数中初始化(列表)属性