본문 바로가기

분류 전체보기

(182)
명품 C++ programming 실습 문제 4장 2번 문제 : 정수 공간 5개를 배열로 동적 할당받고, 정수를 5개 입력받아 평균을 구하고 출력한 뒤 배열을 소멸시키도록 main() 함수를 작성하라. 목적 및 힌트 : 배열의 동적 할당 및 반환 실행 결과 : 코드 : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #include using namespace std; int main() { int *p = new int[5]; double sum = 0; cout p[i]; sum += p[i]; } cout
명품 C++ programming 실습 문제 4장 1번 문제 : 다음은 색의 3요소인 red, green, blue로 색을 추상화한 Color 클래스를 선언하고 활용하는 코드이다. 빈칸을 채워라. red, green, blue는 0~255의 값만 가진다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 #include 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) ..
명품 C++ programming 실습 문제 3장 12번 문제 : 컴퓨터의 주기억장치를 모델링하는 클래스의 Ram을 구현하려고 한다. Ram 클래스는 데이터가 기록될 메모리 공간과 크기 정보를 가지고, 주어진 주소에 데이터를 기록하고(write), 주어진 주소로부터 데이터를 읽어 온다(read). Ram 클래스는 다음과 같이 선언된다. 1 2 3 4 5 6 7 8 9 class Ram { char mem[100 * 1024]; // 100KB 메모리. 한 번지는 한 바이트이므로 char 타입 사용 int size; public: Ram(); // mem 배열을 0으로 초기화하고 size를 100*1024로 초기화 ~Ram(); // "메모리 제거됨" 문자열 출력 char read(int address); // address 주소의 메모리 바이트 리턴 void ..
명품 C++ programming 실습 문제 3장 11번 문제 : 다음 코드에서 Box 클래스의 선언부와 구현부를 Box.h, Box.cpp 파일로 분리하고 main() 함수 부분을 main.cpp로 분리하여 전체 프로그램을 완성하라. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 #include using namespace std; class 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();..
명품 C++ programming 실습 문제 3장 10번 문제 : 다수의 클래스를 선언하고 활용하는 간단한 문제이다. 더하기(+), 빼기(-), 곱하기(*), 나누기(/)를 수행하는 4개의 클래스를 Add, Sub, Mul, Div를 만들고자 한다. 이들은 모두 공통으로 다음 멤버를 가진다. ● int 타입 변수 a, b : 피연산자 ● void setValue(int x, int y) 함수 : 매개 변수 x, y를 멤버 a, b에 복사 ● int calculate() 함수 : 연산을 실행하고 결과 리턴 main() 함수는 Add, Sub, Mul, Div 클래스 타입의 객체 a, s, m, d를 생성하고, 아래와 같이 키보드로부터 두 개의 정수와 연산자를 입력받고, a, s, m, d 객체 중에서 연산을 처리할 객체의 setValue() 함수를 호출한 후, ..
명품 C++ programming 실습 문제 3장 9번 문제 : Oval 클래스는 주어진 사각형에 내접하는 타원을 추상화한 클래스이다. Oval 클래스의 멤버는 모두 다음과 같다. Oval 클래스를 선언부와 구현부로 나누어 작성하라. ● 정수값의 사각형 너비와 높이를 가지는 width, height 변수 멤버 ● 너비와 높이 값을 매개 변수로 받는 생성자 ● 너비와 높이를 1로 초기화하는 매개 변수 없는 생성자 ● width와 height를 출력하는 소멸자 ● 타원이 너비를 리턴하는 getWidth() 함수 멤버 ● 타원의 높이를 리턴하는 getHeight() 함수 멤버 ● 타원의 너비와 높이를 변경하는 set(int w, int h) 함수 멤버 ● 타원의 너비와 높이를 화면에 출력하는 show() 함수 멤버 Oval 클래스를 활용하는 코드의 사례와 실행 결..
명품 C++ programming 실습 문제 3장 8번 문제 : int 타입의 정수를 객체화한 Integer 클래스를 작성하라. Integer의 모든 멤버 함수를 자동 인라인으로 작성하라. Integer 클래스를 활용하는 코드는 다음과 같다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #include #include using namespace std; int main() { Integer n(30); cout
명품 C++ programming 실습 문제 3장 7번 문제 : 문제 5번을 참고하여 생성자를 이용하여 짝수 홀수를 선택할 수 있도록 SelectableRandom 클래스를 작성하고 짝수 10개, 홀수 10개를 랜덤하게 발생시키는 프로그램을 작성하라. 2020/03/03 - [C++/명품 C++ programming] - 명품 C++ programming 실습 문제 3장 5번 명품 C++ programming 실습 문제 3장 5번 문제 : 랜덤 수를 발생시키는 Random 클래스를 만들자. Random 클래스를 이용하여 랜덤 한 정수를 10개 출력하는 사례는 다음과 같다. Random 클래스가 생성자, next(), nextInRange()의 3개의 멤버 함수를 가지도.. sobamemil.tistory.com 목적 및 힌트 : 클래스 작성에서 매개 변수를 ..