#include <iostream>
class Base
{
public:
enum MyEnum1
{
A_VALUE = 1,
};
const int B_VALUE = 42;
int C_VALUE = -2;
};
class Derived : public Base
{
public:
enum MyEnum2
{
A_VALUE = 3,
};
const int B_VALUE = 180;
int C_VALUE = 99;
void test()
{
std::cout << A_VALUE << ' ';
std::cout << static_cast<const Base*>(this)->A_VALUE << ' ';
std::cout << B_VALUE << ' ';
std::cout << static_cast<const Base*>(this)->B_VALUE << ' ';
std::cout << C_VALUE << ' ';
std::cout << static_cast<const Base*>(this)->C_VALUE << std::endl;
}
};
int main()
{
Derived instance;
instance.test();
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKY2xhc3MgQmFzZQp7CnB1YmxpYzogIAogICAgZW51bSBNeUVudW0xCiAgICB7CiAgICAgICAgQV9WQUxVRSA9IDEsCiAgICB9OwogICAgCiAgICBjb25zdCBpbnQgQl9WQUxVRSA9IDQyOwogICAgCiAgICBpbnQgQ19WQUxVRSA9IC0yOwp9OwoKY2xhc3MgRGVyaXZlZCA6IHB1YmxpYyBCYXNlCnsKcHVibGljOgogICAgZW51bSBNeUVudW0yCiAgICB7CiAgICAgICBBX1ZBTFVFID0gMywKICAgIH07CgoJY29uc3QgaW50IEJfVkFMVUUgPSAxODA7CgoJaW50IENfVkFMVUUgPSA5OTsKCiAgICB2b2lkIHRlc3QoKQogICAgewogICAgICAgIHN0ZDo6Y291dCA8PCBBX1ZBTFVFIDw8ICcgJzsKICAgICAgICBzdGQ6OmNvdXQgPDwgc3RhdGljX2Nhc3Q8Y29uc3QgQmFzZSo+KHRoaXMpLT5BX1ZBTFVFIDw8ICcgJzsKICAgICAgICAKICAgICAgICBzdGQ6OmNvdXQgPDwgQl9WQUxVRSA8PCAnICc7CiAgICAgICAgc3RkOjpjb3V0IDw8IHN0YXRpY19jYXN0PGNvbnN0IEJhc2UqPih0aGlzKS0+Ql9WQUxVRSA8PCAnICc7CiAgICAgICAgCiAgICAgICAgc3RkOjpjb3V0IDw8IENfVkFMVUUgPDwgJyAnOwogICAgICAgIHN0ZDo6Y291dCA8PCBzdGF0aWNfY2FzdDxjb25zdCBCYXNlKj4odGhpcyktPkNfVkFMVUUgPDwgc3RkOjplbmRsOwogICAgfQp9OwoKaW50IG1haW4oKQp7CiAgICBEZXJpdmVkIGluc3RhbmNlOwogICAgaW5zdGFuY2UudGVzdCgpOwp9