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는 포인트형 변수로서 클래스의 멤버함수의 접근하기 위해서는 '->'를 사용하셔야 합니다.
배열인 경우 포인터 변수의 저장할 시 &를 붙이지 않습니다.
'명품 C++ programming' 카테고리의 다른 글
명품 C++ programming 실습문제 4장 3번 (0) | 2019.04.06 |
---|---|
명품 C++ programming 실습문제 4장 2번 (0) | 2019.04.06 |
명품 C++ programming 3장 Open Challenge (0) | 2019.04.06 |
명품 C++ programming 실습문제 3장 10번 (0) | 2019.04.06 |
명품 C++ programming 실습문제 3장 9번 (0) | 2019.04.06 |