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) {}
    };
    
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.