1. 문제

 

1. 다음은 색의 3요소인 red, green, blue로 색을 추상화한 Color 클래스를 선언하고 활용하는 코드이다. 빈칸을 채워라. red, green, blue는 0~255의 값만 가진다.

 

 

2. 결과

 

 

 

3. 코드

 

#include <iostream>
using namespace std;

class Color {
	int red, green, blue;
public :
	Color() { red = green = blue = 0; }
	Color( int r, int g, int b) { red = r; green = g; blue = b; }
	void setColor(int r, int g, int b) { red = r; green = g; blue = b;}
	void show() { cout << red << ' ' << green << ' ' << blue << endl; }
};

int main() {
	Color screenColor(255, 0 ,0 );
	Color *p;
	p = &screenColor;	//(1)
	p->show();			//(2)
	Color colors[3];	//(3)
	p = colors;			//(4)

	p->setColor( 255, 0, 0 );		//(5)
	(p+1)->setColor( 0, 255, 0 );
	(p+2)->setColor( 0, 0, 255 );

	for(int i=0; i<3; i++)			//(6)
		(p+i)->show();
}

 

4. 설명

 

주석처리로 각 문제의 해당하는 위치를 표시 하였습니다.

 

변수 p는 포인트형 변수로서 클래스의 멤버함수의 접근하기 위해서는 '->'를 사용하셔야 합니다.

 

배열인 경우 포인터 변수의 저장할 시 &를 붙이지 않습니다.

 

+ Recent posts