#1. 개념
1. 순수 가상 함수
class SomeClass
{
public:
SomeClass();
virtual ~SomeClass();
virtual void setString(const std::string& inString) = 0;
virtual std::string getString() const = 0;
};
SomeClass class1; // 에러 발생
SomeClass* class1 = nullptr; // 컴파일 Ok!!
순수 가상 함수란 "=0" 키워드를 통해 함수의 선언부만 작성하고, 자세한 구현 내용은 작성하지 않고 이를 상속하는 하위 계층의 클래스들에게 해당 함수의 구현부 작성을 강제하는 함수입니다.
순수 가상 함수를 선언한 클래스는 추상 클래스라고하며, 오직 순수 가상 함수만 선언한 클래스는 인터페이스 클래스라고 합니다. 이들은 모두 직접적인 생성 작업이 불가능합니다.
'언어 > Basic C++' 카테고리의 다른 글
[Basic C++] #14 오버라이딩의 특수한 경우 두 번째 (0) | 2022.03.25 |
---|---|
[Basic C++] #13_오버로딩, static 함수의 오버로딩 (0) | 2022.03.25 |
[Basic C++] #11 생성자의 상속 (0) | 2022.03.18 |
[Basic C++] #10 오버라이드 키워드, override (0) | 2022.03.17 |
[Basic C++] #9 객체의 업캐스팅과 다운캐스팅, 슬라이싱 (0) | 2022.03.16 |