类声明C++后的初始化

Initialization after class declaration C++

本文关键字:初始化 C++ 声明      更新时间:2023-10-16

在下面的构造函数中,我想初始化_register位集以及POLY。是否可以在冒号后初始化多个位集?有没有另一种方法可以在构造函数中初始化位集?

private:
    std::string message;        
    const std::bitset<4> POLY; 
    std::bitset<4> _register;  
public:
    CRC4(std::string message); // constructor declared 
// constructor defined
CRC4::CRC4(std::string message) : POLY (std::string("0011")) // initialize POLY 
{
    this->message.assign(message); // initialize message 
}

感谢您的任何建议。

可以将任意数量的初始值添加到初始值设定项列表中,用逗号分隔:

CRC4::CRC4(std::string message)
  : message( message ), // initialize message
    POLY (std::string("0011")), // initialize POLY
    _register(std::string("0011")) 
{
}