문제 3~4에 적용되는 2차원 상의 한 점을 표현하는 Point 클래스가 있다.

 

1. 문제

 

3. 다음 main() 함수가 실행되도록 Point 클래스를 상속받은 ColorPoint 클래스를 작성하고, 전체 프로그램을 완성하라.

 

 

2. 결과

 

 

 

3. 코드

 


#include <iostream>
#include <string>
using namespace std;

class Point {
	int x, y;
public :
	Point(int x, int y) { this->x = x; this->y = y; }
	int getX() { return x; }
	int getY() { return y; }
protected :
	void move(int x, int y) { this->x = x; this->y = y; }
};

class ColorPoint : public Point {
	string name;
public :
	ColorPoint(int x, int y, string name) : Point(x, y) {
		this->name = name; }
	void setPoint(int x, int y){ move(x, y); }
	void setColor(string name) { this->name = name; }
	void show() { cout << name << "색으로 (" << getX() << "," << getY() << ")에 위치한 점입니다." << endl; }
};

int main() {
	ColorPoint cp(5, 5, "RED");
	cp.setPoint(10, 20);
	cp.setColor("BLUE");
	cp.show();
}

 

4. 설명

 

 Point 클래스를 상속받은 ColorPoint 클래스를 작성합니다.

 

ColorPoint 클래스는 추가적으로 색을 입력 받으므로 string 변수 name을 선언합니다.

 

: Point( x, y) 를 추가하여서 Point클래스에서 Point( int x, int y) 생성자가 실행되도록 만들어 줍니다.

 

 

추가적으로 위치를 재설정하는 setPoint 멤버함수와 , 색을 재설정하는 setColor 멤버함수, show 멤버 함수를 작성합니다.

 

+ Recent posts