더북(TheBook)

3.1.5 Range 클래스

Range 클래스는 범위 또는 구간을 표현하는 클래스입니다. Range 클래스는 범위의 시작과 끝을 나타내는 startend 멤버 변수를 가지고 있습니다. 간략화한 Range 클래스 정의를 코드 3-5에 나타냈습니다.

코드 3-5 간략화한 Range 클래스 정의

01    class Range
02    {
03    public:
04        Range();
05        Range(int _start, int _end);
06     
07        int size() const;
08        bool empty() const;
09        static Range all();
10     
11        int start, end;
12    };

 

4행 기본 생성자. start = end = 0으로 초기화합니다.

5행 두 개의 정수를 인자로 받는 생성자. start = _start, end = _end로 초기화합니다.

7행 Range::size() 멤버 함수는 범위 크기(end - start)를 반환합니다.

8행 Range::empty() 멤버 함수는 startend가 같으면 true를 반환합니다.

9행 Range::all() 멤버 함수는 start = INT_MIN, end = INT_MAX로 설정한 Range 객체를 반환합니다.

11행 멤버 변수. start는 범위의 시작, end는 범위의 끝을 나타냅니다.

 

Range 클래스는 start부터 end까지의 정수 단위 범위를 표현합니다. 이때 start는 범위에 포함되고, end는 범위에 포함되지 않습니다. 예를 들어 다음 예제 코드에서 r1은 0부터 9까지의 범위를 표현하고, 10은 포함하지 않습니다.

Range r1(0, 10);
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.