class BaseClass
{
virtual void funcA();
virtual void funcB() const;
virtual void funcC(int = 0);
void funcD();
};
class DerivedClass: public BaseClass
{
// 부모와 동일한 시그너처의 가상 함수이므로 OK
virtual void funcA() override;
// 부모의 funcB는 const 한정자가 있으므로, DerivedClass의 funcB는 다른 함수
// 따라서, 컴파일 에러
virtual void funcB() override;
// 부모의 funcC의 인자 타입과 자식의 인자 타입이 다르다. 즉, 다른 함수
// 따라서, 컴파일 에러
virtual void funcC(double = 0.f) override;
// 비가상 함수는 override 키워드 불가, 컴파일 에러
void funcD() override;
};
아이쿠 나가 고건 몰랐네!
댓글 0