더북(TheBook)

RGBBYTE 클래스는 아래의 생성자 함수를 제공한다.

• RGBBYTE() : b(0), g(0), r(0) {}                            // (1)
• RGBBYTE(BYTE gray) : b(gray), g(gray), r(gray) {}          // (2)
• RGBBYTE(const BYTE& _r, const BYTE& _g, const BYTE& _b)
   : b(_b), g(_g), r(_r) {}                                   // (3)

(1)번의 기본 생성자는 모든 멤버 변수 값을 0으로 초기화한다. (2)번 생성자는 하나의 인자를 받아서 r, g, b 멤버 변수 값을 동일하게 설정한다. (3)번 생성자는 세 개의 BYTE 타입 인자를 받아서 각각 r, g, b 멤버 변수를 초기화한다. RGBBYTE 클래스는 동적으로 메모리를 할당하여 사용하지 않으므로 복사 생성자는 따로 만들지 않아도 된다. 소멸자 또한 굳이 만들 필요가 없다.

RGBBYTE 클래스의 전체 소스는 소스 4-14에 나타내었다.

소스 4-14 RGBBYTE 클래스 정의(RGBBYTE.h)
#pragma once

typedef unsigned char BYTE;

class RGBBYTE
{
public:
    BYTE b;
    BYTE g;
    BYTE r;

public:
    RGBBYTE() : b(0), g(0), r(0) {}
    RGBBYTE(BYTE gray) : b(gray), g(gray), r(gray) {}
    RGBBYTE(const BYTE& _r, const BYTE& _g, const BYTE& _b) : b(_b), g(_g), r(_r) {}
};
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.