가상함수, 순수가상함수의 차이

가상함수와 순수 가상함수는 어떻게 다르고, 그 둘을 쓴다는 게 어떤 의미인지 알려주세요

1답변

  • 좋아요

    0

    싫어요
    채택취소하기

    Wikipedia's Virtual function에 따르면

    가상 함수

    가상 함수/메소드는 상속관계에서 오버라이드 할 수 있는 함수/메소드입니다. base클래스, derived클래스 모두 정의(오버라이드)할 수 있습니다.

    순수 가상 함수

    순수 가상 함수/메소드는 derived클래스에서 구현되어야 하는 함수/메소드를 의미합니다. base클래스에서는 선언만 가능하고 정의는 derived클래스에서만 가능합니다. 따라서 순수 가상 함수/메소드를 쓴다는 의미는 이 클래스를 인터페이스로 쓰겠다는 의미와 동일합니다. C++에서 순수 가상 메소드를 선언할 때는, 맨 뒤에 =0를 붙임으로써 순수 가상 함수임을 명시합니다.

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.