1. 문제

 

9. 다음 코드에서 Box 클래스의 선언부와 구현부를 Box.h, Box.cpp 파일로 분리하고 main() 함수 부분을 main.cpp로 분리하여 전체 프로그램을 완성하라.

 

 

2. 결과

 

 

 

3. 코드

 

// main.cpp

#include <iostream>
using namespace std;
#include "Box.h"

int main() {
	Box b(10, 2);
	b.draw();
	cout << endl;
	b.setSize(7, 4);
	b.setFill('^');
	b.draw();
}
//	Box.cpp

#include <iostream>
using namespace std;
#include "Box.h"

Box::Box(int w, int h) {
	setSize(w, h);
	fill = '*';
}
void Box::setFill( char f) {
	fill = f;
}
void Box::setSize( int w, int h) {
	width = w;
	height = h;
}
void Box::draw() {
	for(int n=0; n<height; n++) {
		for( int m=0; m<width; m++) cout << fill;
		cout << endl;
	}
}
// Box.h

class Box {
	int width, height;
	char fill;
public :
	Box( int w, int h);
	void setFill( char f);
	void setSize( int w, int h);
	void draw();
};

 

4. 설명

 

클래스의 선언부는 Box.h 헤더파일에 작성하고, 구현부는 Box.cpp 파일에 작성하고 main()은 main.cpp파일에 각각 작성합니다.

 
setFill( char f)함수는 입력받은 매개변수의 단어로 바꿉니다.
setSize(int w, int h)함수는 줄의 갯수와 한 줄에 출력할 단어의 갯수를 매개변수로 입력받습니다.

 

 

main파일에는 main함수만 있어야 합니다.

 

+ Recent posts