nakka soft world !

순수 가상 함수와 추상 클래스 본문

프로그래밍언어/C++

순수 가상 함수와 추상 클래스

nakka 2017. 3. 27. 16:39
728x90

순수 가상 함수와 추상 클래스



// 추상 클래스

class Shape

{

public:

virtual void Draw() = 0;  // Pure virtual function, 구현부가 없다. -> 반드시 해당 함수는 포함하라는 의도.

}


class Rect : public Shape

{

public:

virtual void Draw() { }  // Draw의 구현부가 없으면 역시 추상 클래스

};


int main()

{

Rect r; // error

Shape s; // error, 추상클래스는 객체를 만들수 없다

s.Draw();


Shape* p; // OK

}



728x90

'프로그래밍언어 > C++' 카테고리의 다른 글

함수 바인딩과 가상함수의 원리  (0) 2017.03.27
추상클래스와 인터페이스  (0) 2017.03.27
가상 소멸자 ( virtual destructor )  (0) 2017.03.27
객체 지향 디자인  (0) 2017.03.27
가상함수와 다형성  (0) 2017.03.27
Comments