50 lines
787 B
C++
50 lines
787 B
C++
#include <iostream>
|
|
|
|
struct Counter {
|
|
inline static int x = 1;
|
|
static void bump() { ++x; }
|
|
};
|
|
|
|
struct Counter2 : Counter {
|
|
inline static int x = 100;
|
|
static void bump() { x += 10; }
|
|
};
|
|
|
|
enum E { A = 1, B = 2 };
|
|
|
|
struct S {
|
|
enum E { B = 3, C = 4 };
|
|
static int f() { return B; }
|
|
};
|
|
|
|
enum class M : unsigned char { A = 250, B, C };
|
|
|
|
int g() {
|
|
int B = 40;
|
|
return S::f() + B;
|
|
}
|
|
|
|
int main() {
|
|
Counter::bump();
|
|
Counter2::bump();
|
|
|
|
// 112
|
|
int t1 = Counter::x + Counter2::x;
|
|
|
|
// 43
|
|
int u1 = g();
|
|
|
|
int B = 7;
|
|
// 9
|
|
int t2 = B + ::B;
|
|
|
|
int d;
|
|
{
|
|
using enum M;
|
|
// 251 - 250 = 1?
|
|
d = static_cast<int>(B) - static_cast<int>(A);
|
|
}
|
|
|
|
std::cout << t1 << " " << u1 << " " << t2 << " " << d << "\n";
|
|
}
|
|
|