[C++] The C++ Programming Language: 3. A Tour of C++: Abstraction Mechanism (2)
3.2.2 Abstract Types complex와 Vector같은 자료형 concrete 자료형이라 합니다. 그들의 표현이 그들의 정의 일부분이기 때문입니다. 곧, 내장 자료형과 닮았죠. 대조적으로, abstract 자료형은 구현의 세부사항으로부터 사용자를 완전히 격리한 것을 말합니다. 이는 표현으로부터 인터페이스를 분리하고 실질적인 지역 변수를 포기함으로써 이룰 수 있습니다. 따라서 우리는 abstract 자료형의 표현에 대해서 아무것도 알 수 없습니다. 반드시 자유 공간에 객체를 할당하고 참조나 포인터를 통해서 그들에게 접근해야 합니다. 먼저, 우리는 우리의 Vector 클래스를 더 추상화된 버전으로 설계하기 위해 Container라는 클래스의 인터페이스를 정의합니다: 1 2 3 4 5 6 class Container { public: virtual double & operator[ ] ( int ) = 0 ; // pure virtual function virtual int size( ) const = 0 ; // const member function (§3.2.1.1) virtual ˜Container( ) { } // destructor (§3.2.1.2) } ; Colored by Color Scripter cs 이 클래스는 차후에 정의될 특정 컨테이너의 순수한 인터페이스입니다. virtual은 "이 클래스로부터 유도된 클래스에서 재정의될 수도 있다"는 의미입니다. (생략) =0은 해당 함수가 pure vir...