c++ 오버라이딩 예제

C++에서 함수 재정의의 간단한 예를 살펴보겠습니다. 이 예제에서는 eat() 함수를 재정의합니다. 재정의 함수에서 재정의 함수를 호출하려면 다음과 같이 할 수 있습니다:이 자습서에서는 C ++의 다형성 및 C ++에서 재정의하는 함수의 개념을 다형성합니다. 또한 간단한 코드 예제를 사용하여 이 두 가지 작업을 모두 볼 수 있습니다. 다형성은 한 가지의 여러 형태를 갖는 것을 의미한다. 상속에서 다형성은 수퍼 클래스와 하위 클래스가 동일한 선언 bu 다른 정의를 가진 멤버 함수를 가질 때 메서드 재정의에 의해 수행됩니다. derived 클래스가 기본 클래스에 정의된 것과 동일한 함수를 정의하는 경우 C++에서 재정의하는 함수라고 합니다. 런타임 다형성을 달성하는 데 사용됩니다. 기본 클래스에서 이미 제공 중인 함수의 특정 구현을 제공할 수 있습니다. 참고: 함수 재정의에서 부모 클래스의 함수를 재정의 함수라고 하며 자식 클래스의 함수를 재정의 함수라고 합니다. “이것은 기본 클래스의 가상 메서드를 재정의하는 가상 메서드입니다.” 재정의 지정기는 컴파일러와 판독기 모두에 사용되는 함수가 실제로 해당 기본 클래스에서 메서드를 재정의하고 있음을 알려줍니다.

파생 클래스에 기본 클래스 메서드의 새 구현을 제공 하는 함수 재정의 라고 합니다. 개체 지향 프로그래밍에서 함수 재정의는 하위 클래스 또는 자식 클래스가 이미 슈퍼 클래스 또는 상위 클래스 중 하나에서 제공된 메서드의 특정 구현을 제공할 수 있는 언어 기능입니다. 클래스를 파생 클래스로 상속하고 파생 된 클래스 내에서 다시 기본 클래스의 함수 중 하나에 대한 정의를 제공하는 경우 해당 함수를 재정의하고 이 메커니즘을 함수 재정의라고 합니다. 위의 예제에서 이 작업을 수행하려면 자식 클래스의 disp() 함수에 다음 문을 작성할 수 있습니다. 두 클래스 모두 동일한 함수 프로토타입을 가진 show라는 동일한 함수를 가지고 있지만 두 클래스의 클래스에 따라 서로 다른 메시지를 인쇄합니다. 따라서 기능은 다릅니다. 주요 함수에서 우리는 이러한 클래스각각의 2 개의 개체를 만들고 각각의 쇼 함수를 불렀습니다. 파생 클래스 show의 함수가 호출되면 기본 함수 표시를 재정의하고 Base 클래스 대신 “파생 클래스”를 인쇄합니다. 함수 재정의입니다. 위의 예제에서 개체는 Derived 클래스이지만 여전히 Base 클래스의 메서드가 호출됩니다.