#include <iostream> #include <cstdint> using namespace std; class Flags { private: uint8_t bits; public: explicit Flags(uint8_t b) : bits(b) {} Flags operator~(){ return Flags(static_cast<uint8_t>(~bits)); } uint8_t getBits() const { return bits; } }; int main() { int val; cin >> val; Flags f(static_cast<uint8_t>(val)); Flags toggled = ~f; cout << "Input=" << val << " Toggled Input=" << static_cast<int>(toggled.getBits()); return 0; }
Test Cases
Test Results
Input
0
Expected Output
Input=0 Toggled Input=255