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함수만 있어야 합니다.
'명품 C++ programming' 카테고리의 다른 글
명품 C++ programming 3장 Open Challenge (0) | 2019.04.06 |
---|---|
명품 C++ programming 실습문제 3장 10번 (0) | 2019.04.06 |
명품 C++ programming 실습문제 3장 8번 (2) (0) | 2019.04.06 |
명품 C++ programming 실습문제 3장 8번 (1) (0) | 2019.04.06 |
명품 C++ programming 실습문제 3장 7번 (1) | 2019.04.06 |