Pass bitset pattern to constructor
Hello,
How can I pass an expression similar to the one I commented out (instead of the binary representation) to the constructor? I would like to make the constructor argument more readable.
Code:
#include <iostream>
#include <bitset>
struct Person
{
const char* Name;
int Age;
std::bitset<4> State{};
Person(const char* name, int age, std::bitset<4> state) : Name(name), Age(age), State(state) {}
};
int main()
{
std::bitset<4> isBad{ 0b0001 };
std::bitset<4> isSad{ 0b0010 };
std::bitset<4> isMad{ 0b0100 };
std::bitset<4> isFat{ 0b1000 };
Person me("Joe", 25, std::bitset<4>{ 0b0101 });
//me.State |= isBad | isMad;
if((me.State & isBad).any()) std::cout << "Bad" << '\n';
if((me.State & isMad).any()) std::cout << "Mad" << '\n';
}