블로그는 나의 힘!
[ Programing ]/C++2013. 5. 21. 22:57
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() 가 없어도 컴파일이 되지 않습니다.
Posted by Mister_Q