c++ 순수가상함수 예제

실제 메모에 대한 별칭이기 때문에 가상 메모가 없는 것 같습니다. 가상 주소는 실제 주소의 별칭입니다. “가상 주소`라고 말할 때 `실제 주소`를 의미합니다”와 이것을 혼합하지 마십시오. 각 가상 주소는 실제 주소로 변환됩니다. 이 가상을 상상하는 가장 쉬운 방법은 다음에 페이지 번호 400에 액세스할 때 페이지 테이블에서 보고 실제 페이지 51에 있는지 확인하고 실제 페이지 51에 액세스할 수 있는 한 쪽 및 실제 주소에 가상 주소가 있는 테이블입니다. 가상 주소는 용량을 늘리는 것이 아니라 주소 지정 가능 범위를 늘리는 것입니다. 함수 AB::f는 순수한 가상 함수입니다. 함수 선언에는 순수 지정자와 정의가 모두 있을 수 없습니다. 순수 가상 함수 또는 순수 가상 메서드는 파생 된 클래스가 추상적이지 않은 경우 파생 클래스에서 구현해야 하는 가상 함수입니다. 순수 가상 메서드를 포함하는 클래스를 “추상”이라고 하며 직접 인스턴스화할 수 없습니다. 추상 클래스의 하위 클래스는 상속된 모든 순수 가상 메서드가 해당 클래스 또는 부모 클래스에 의해 구현된 경우에만 직접 인스턴스화할 수 있습니다. 순수 가상 메서드에는 일반적으로 선언(서명)이 있고 정의(구현)가 없습니다. 가상 함수선언 끝에 “=0″을 더하면 가상 함수가 순수가상 함수가 됩니다.

순수 가상 함수에는 본문이나 구현이 없습니다. 파생 클래스에서 모든 순수 가상 함수를 구현해야 합니다. 그에 대한 예는 아래와 같습니다. 그래서, 우리는 인터페이스 클래스로 동물 클래스 아래 고려할 수 있습니다 (본체와 순수한 가상 기능)? 가상 함수는 `늦게`로 해결됩니다. 문제의 함수가 기본 클래스에서 `가상`인 경우 포인터 또는 참조의 선언된 형식에 관계없이 가장 많이 파생된 함수의 구현은 참조된 개체의 실제 형식에 따라 호출됩니다. `가상`이 아닌 경우 메서드가 `초기`로 해결되고 호출된 함수는 포인터 또는 참조의 선언된 형식에 따라 선택됩니다. Java의 인터페이스 키워드가 명시적으로 지정하는 것과 유사하게 메서드 선언을 사용하여 인터페이스를 정의하는 경우에도 순수 가상 함수를 사용할 수 있습니다. 이러한 용도에서 파생 된 클래스는 모든 구현을 제공 합니다. 이러한 디자인 패턴에서 인터페이스 역할을 하는 추상 클래스에는 순수 가상 함수만 포함되지만 데이터 멤버나 일반 메서드는 포함되지 않습니다.

C++에서는 C++가 여러 상속을 지원하기 때문에 순수추상 클래스를 인터페이스와 함께 사용합니다. 그러나 많은 OOP 언어는 여러 상속을 지원하지 않으므로 종종 별도의 인터페이스 메커니즘을 제공합니다.

Posted in Uncategorized