더북(TheBook)

코드 3-16에 나타난 예제 코드를 좀 더 자세히 살펴보겠습니다. 3행은 Scalar 클래스 타입의 변수 gray에 128 정수 하나를 이용하여 초기화하는 예제 코드입니다. 이 경우 gray 변수가 가지고 있는 네 개의 double형 원소 중에서 첫 번째 원소만 128로 설정되고, 나머지 세 개의 원소는 0으로 초기화됩니다. 6행의 yellow 변수는 네 개의 double형 원소 중 처음 세 원소가 차례대로 0, 255, 255로 설정되고, 마지막 네 번째 원소는 0으로 초기화됩니다.

Scalar 클래스도 Vec 클래스와 마찬가지로 std::cout<< 연산자를 이용하여 원소 값을 간단하게 출력할 수 있습니다. 그러므로 코드 3-16의 4행과 7행이 실행되면 다음과 같이 원소 값이 순서대로 출력됩니다.

gray: [128, 0, 0, 0]
yellow: [0, 255, 255, 0]

코드 3-16의 11~12행은 Scalar 클래스의 원소 값을 참조하는 방법을 보여 줍니다. Scalar 클래스에 저장된 데이터 원소에 접근하기 위해 멤버 변수 val 배열을 직접 참조해도 되지만 보통은 [] 연산자 재정의를 사용합니다. 예를 들어 yellow 변수의 0번째 원소 값을 참조하려면 yellow.val[0]이라고 입력해도 되지만 yellow[0] 코드를 더 많이 사용합니다. 코드 3-16의 11~12행 실행 결과는 다음과 같습니다.

0
255
255
0
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.