class myenum {
int val;
myenum(int value) :val(value){}
public:
static myenum A;
static myenum B;
static myenum C;
static myenum D;
//stuff
};
myenum myenum::A(0);
myenum myenum::B(1);
myenum myenum::C(2);
myenum myenum::D(3);
int main() {
myenum t = myenum::A;
//myenum f(3); error: 'myenum::myenum(int)' is private
}
Y2xhc3MgbXllbnVtIHsKICAgIGludCB2YWw7CiAgICBteWVudW0oaW50IHZhbHVlKSA6dmFsKHZhbHVlKXt9CnB1YmxpYzoKICAgIHN0YXRpYyBteWVudW0gQTsKICAgIHN0YXRpYyBteWVudW0gQjsKICAgIHN0YXRpYyBteWVudW0gQzsKICAgIHN0YXRpYyBteWVudW0gRDsKICAgIC8vc3R1ZmYKfTsKbXllbnVtIG15ZW51bTo6QSgwKTsKbXllbnVtIG15ZW51bTo6QigxKTsKbXllbnVtIG15ZW51bTo6QygyKTsKbXllbnVtIG15ZW51bTo6RCgzKTsKCmludCBtYWluKCkgewogICAgbXllbnVtIHQgPSBteWVudW06OkE7CiAgICAvL215ZW51bSBmKDMpOyBlcnJvcjogJ215ZW51bTo6bXllbnVtKGludCknIGlzIHByaXZhdGUKfQo=