지정자
override와final은
1. keyword 처럼 사용되지만,
2. identifier 로도 사용가능하다. (예를 들어, 변수 이름이나 열거체)
class B {
int b = 0;
public:
virtual void fn() { b++; }
};
class D : public B {
int d = 10;
public:
void fn() override { d++; } // override: keyword처럼 사용
};
// enum에서 사용
enum {override, good}; // override
enum final {end, arrival, destination}; // final
int main() {
cout << override << endl; // 0
int a = 2;
// int char = 3; // char : 변수이름 X, keyword
int final = 4; // final : 변수이름 O, identifier
int override = 7; // override : 변수이름 O, identifier
cout << override << endl; // 7
}