override 키워드 는 상속 클래스 에서 virtual 로 재정의(오버라이딩) 된 함수 를 명시적 구분 해주는 키워드 입니다.
부모 클래스 가 여러 자식을 가지게 될때 재정의 된 함수를 수정시 실수로 클래스 한두개를 빼먹을때 발생할수 있는 문제를
사전에 막아주는 유용한 키워드 입니다.
//////////////////////////////////////////////////////////////////////////////////////////////
class cA
{
public:
virtual void funcA()
{}
}
class cB : public cA
{
public:
virtual void funcA() override // 이 함수는 명시적으로 재정의 되었습니다.
{}
}
컴파일이 정상적 으로 됩니다.
//////////////////////////////////////////////////////////////////////////////////////////////
class cA
{
public:
void funcA()
{}
}
class cB : public cA
{
public:
virtual void funcA() override // 이 함수는 명시적으로 재정의 되었습니다.
{}
}
이경우 cA 클래스 의 funcA() 에 virtual 가 없기 때문에 제대로 컴파일이 되지 않습니다.
cA 클래스 에 funcA() 가 없어도 컴파일이 되지 않습니다.
'[ Programing ] > C++' 카테고리의 다른 글
PSAPI Library 를 이용한 현재 프로세스 메모리 사용량 파악 (0) | 2013.05.21 |
---|---|
보호 클래스/보호함수 만들기 sealed 키워드 (0) | 2013.05.21 |
메모리 덮어쓰기 확인 _heapchk() (0) | 2013.05.21 |
[C++] 원하는 시간 time(timestamp) 설정. mktime, localtime_s (0) | 2012.01.13 |
Day -> TickTime 으로... mktime() (0) | 2011.11.22 |