(C++) 순수 가상함수와 추상클래스

■ 순수가상함수(Pure Virtual Function)와 추상클래스(Abstract Class)
class Employee 
{ 
private :  
    char name[100]; 
public: 
    Employee(char *name) {...} 
    void ShowName() {...} 
    virtual int GetPay() const = 0; // 순수 가상함수 
    virtual void ShowInfo() const =0; // 순수 가상함수 
}; 

'순수가상함수'란 함수의 몸체가 정의되지 않은 함수를 의미한다.이를 표현하기 위해 코드처럼 '0의 대입'을 표시
하고 있다. 이것은 0을 대입하라는 것이 아니고 명시적으로 몸체를 정의하지 않았음을 컴파일러에게 알리는것이다.
이처럼 순수가상함수를 하나이상 지니는 클래스는 객체를 생성하려 할때 컴파일 에러가 발생한다.
이는 완전하지 않은, 그래서 객체생성이 불가능한 클래스라는 의미를 지니기 때문이다.

그리고 이러한 클래스를 가리켜 '추상클래스(abstract class)'라 한다



참조: http://egloos.zum.com/printf/v/1784623

댓글

이 블로그의 인기 게시물

(ElasticSearch) 결과에서 순서 정렬

(네트워크)폴링방식 vs 롱 폴링방식

(18장) WebSocekt과 STOMP를 사용하여 메시징하기