Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 함수 오버로딩과 오버라이드의 차이점 - 2020 - 다른 사람

<시간/>

이 게시물에서는 C++에서 함수 오버로딩과 함수 오버라이드의 차이점을 이해할 것입니다.

과부하

  • 오버로딩 중에는 키워드가 사용되지 않습니다.

  • 프로토타입은 매개변수의 수 또는 유형에 따라 다릅니다.

  • 컴파일 시간 동안 발생합니다.

  • 생성자는 오버로드될 수 있습니다.

  • 소멸자는 오버로드될 수 없습니다.

  • 초기 바인딩을 달성하는 데 사용할 수 있습니다.

  • 호출되는 함수의 버전은 사용 중인 매개변수의 수 또는 유형에 따라 결정됩니다.

  • 함수는 같은 이름, 다른 수 또는 매개변수 유형으로 재정의됩니다.

재정의

  • 프로토타입은 전체적으로 동일하게 유지됩니다.

  • 런타임에 발생합니다.

  • 가상 기능은 재정의할 수 없습니다.

  • 소멸자를 재정의할 수 있습니다.

  • 재정의는 후기 바인딩이라고도 합니다.

  • 재정의될 함수는 기본 클래스에서 '가상' 키워드가 앞에 옵니다.

  • 클래스 객체의 주소는 포인터에 의해 함수가 호출되는 포인터에 할당됩니다.

  • 함수 정의 시 메인 클래스에서 'virtual' 키워드가 앞에 옵니다.

  • 파생 클래스에서도 같은 함수를 'out' 키워드로 재정의합니다.