-
명품 C++ 3장 11번C++ 2018. 10. 28. 23:45
11. 다음 코드에서 Box 클래스의 선언부와 구현부를 Box.h, Box.cpp 파일로 분리하고 main() 함수 부분을 main.cpp로 분리하여 전체 프로그램을 완성하라.
소스코드
Box.h
#ifndef BOX_H#define BOX_Hclass Box {int width, height;char fill; // 박스의 내부를 채우는 문자public:Box(int w, int h) { setSize(w, h); fill = '*'; }void setFill(char f) { fill = f; }void setSize(int w, int h) { width = w; height = h; }void draw(); // 박스 그리기};#endifBox.cpp
#include <iostream>using namespace std;#include "Box.h"void Box::draw() {for (int n = 0; n < height; ++n) {for (int m = 0; m < width; ++m) cout << fill;cout << endl;}}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.h 에는 클래스를 선언하고 Box.cpp 에는 멤버함수를 구현해주어야합니다.
cpp파일에서는 헤더파일을 선언해주어야 에러없이 사용가능합니다.
'C++' 카테고리의 다른 글
명품 C++ 3장 Open Challenge (0) 2018.10.29 명품 C++ 3장 12번 (0) 2018.10.28 명품 C++ 3장 10번 (0) 2018.10.28 명품 C++ 3장 9번 (0) 2018.10.28 명품 C++ 3장 8번 (0) 2018.10.28