c++ 다형성 예제

프로그래밍 배경에서 다형성은 크게 두 부분으로 나눌 수 있습니다. C++에서 이러한 유형의 다형성을 오버로드라고 합니다. 하위 유형 다형성은 C++에서 “다형성”을 말할 때 모두가 이해하는 것입니다. 기본 클래스 포인터 및 참조를 통해 파생 클래스를 사용하는 기능입니다. 템플릿을 전문으로 하는 경우 임시 다형성도 C++에 나타납니다. max 함수에 대한 이전 예제로 돌아가서 두 char *에 대해 최대를 작성하는 방법은 다음과 같습니다. 내용을. 포인터에 대해 작업하려면 포인터 형식에 대한 템플릿을 전문으로해야하며 더 이상 파라 메트릭 다형성이 아니라 임시 다형성이 될 것입니다. C++ 다형성은 멤버 함수에 대한 호출로 인해 함수를 호출하는 개체 유형에 따라 다른 함수가 실행됩니다. 보시다시피 각 자식 클래스에는 함수 영역()에 대한 별도의 구현이 있습니다. 이것은 다형성이 일반적으로 사용되는 방법입니다.

동일한 이름의 함수와 동일한 매개 변수를 가진 다른 클래스가 있지만 구현이 다릅니다. 이 예제에서는 이름이 같지만 인수 수가 다른 두 함수가 있습니다. 함수 호출 중에 전달하는 매개 변수 수에 따라 호출할 함수가 결정되므로 서로 다른 조건에서 출력이 다르기 때문에 다형성의 예로 간주됩니다. 이후 호출은 컴파일 시간 동안 결정되므로 컴파일 시간 다형성이라고 합니다. 이러한 다형성은 또한 C ++에서 다른 이름으로 이동, 단어 다형성은 많은 형태를 갖는 것을 의미한다. 일반적으로 다형성은 클래스의 계층 구조가 있고 상속으로 관련될 때 발생합니다. 다형성은 개체가 다른 조건에서 다르게 행동할 수 있도록 하는 OoP의 특징입니다. C++에는 두 가지 유형의 다형성이 있습니다: 1) 컴파일 시간 다형성 – 정적(또는 초기) 바인딩이라고도 합니다.

2) 런타임 다형성 – 이것은 동적(또는 후기) 바인딩이라고도 합니다. 다형성의 실제 예를 살펴보겠습니다. 한 여성은 교실에서 교사처럼 행동하고, 어머니나 딸은 가정에서, 그리고 시장에서는 고객처럼 행동합니다. 여기서 한 사람이 상황에 따라 다르게 행동합니다. 여기서는 다형성으로 알려진 프로그래밍 기능을 C++에서 어떻게 사용할 수 있는지 살펴보겠습니다. 형식 이론에서 그것은 또한 포함 다형성으로 알려져 있다.