가상 vs 순수 가상 함수
객체 지향 프로그래밍에서 가상 함수와 순수 가상 함수는 다형성을 이해하는 데 필수적인 개념입니다.
가상이란 무엇입니까? 함수?
가상 함수는 동적 디스패치를 허용하는 기본 클래스의 상속 및 재정의 가능한 함수입니다. 객체에서 가상 함수가 호출되면 런타임 시스템은 객체의 유형에 따라 실행할 실제 함수 구현을 결정합니다.
예:
class Base { public: virtual void foo() { std::cout << "Base::foo()" << std::endl; } }; class Derived : public Base { public: void foo() override { std::cout << "Derived::foo()" << std::endl; } };
In 이 예에서는 Base 및 Derived 클래스 모두 foo() 함수를 구현합니다. 파생 객체에서 foo()가 호출되면 "Derived::foo()"를 인쇄하는 재정의된 버전이 실행됩니다.
순수 가상 함수란 무엇인가요?
추상 함수라고도 하는 순수 가상 함수는 기본 클래스에 정의되지 않은 가상 함수입니다. 이를 구현하려면 파생 클래스가 필요한 자리 표시자 역할을 합니다.
예:
class Base { public: virtual void foo() = 0; // pure virtual function };
이 예는 Base에서 foo()를 순수 가상 함수로 선언합니다. 수업. 파생 클래스는 정의를 제공하기 위해 이 함수를 구현해야 합니다. 그렇지 않으면 파생 클래스가 추상화되어 인스턴스화될 수 없습니다.
가상 함수와 순수 가상 함수의 차이점
위 내용은 C에서 가상 함수와 순수 가상 함수의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!