명품 C++ programming 실습 문제 8장 4번

문제 : 문제 3~4에 적용되는 2차원 상의 한 점을 표현하는 Point 클래스가 있다. 1 2 3 4 5 6 7 8 9 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; } }; 다음 main() 함수가 실행되도록 Point 클래스를 상속받는 ColorPoint 클래스를 작성하고, 전체 프로그램을 완성하라. ...

2020년 3월 9일 · 2 분 · Sobamemil

명품 C++ programming 실습 문제 8장 3번

문제 : 문제 3~4에 적용되는 2차원 상의 한 점을 표현하는 Point 클래스가 있다. 1 2 3 4 5 6 7 8 9 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; } }; 다음 main() 함수가 실행되도록 Point 클래스를 상속받은 ColorPoint 클래스를 작성하고, 전체 프로그램을 완성하라. ...

2020년 3월 9일 · 2 분 · Sobamemil

명품 C++ programming 실습 문제 8장 2번

문제 : 문제 1~2에 적용되는 원을 추상화한 Circle 클래스가 있다. 1 2 3 4 5 6 7 8 class Circle{ int radius; public: Circle(int radius=0) { this->radius = radius; } int getRadius() { return radius; } void setRadius(int radius) { this->radius = radius; } double getArea() { return 3.14*radius*radius; } }; 다음과 같이 배열을 선언하여 다음 실행 결과가 나오도록 Circle을 상속받은 NamedCircle 클래스와 main() 함수 등 필요한 함수를 작성하라. ...

2020년 3월 9일 · 2 분 · Sobamemil

명품 C++ programming 실습 문제 7장 12번

문제 : 정수 배열을 항상 증가 순으로 유지하는 SortedArray 클래스를 작성하려고 한다. 아래의 main() 함수가 작동할 만큼만 SortedArray 클래스를 작성하고 +와 = 연산자도 작성하라. 1 2 3 4 5 6 7 8 9 10 11 12 13 class SortedArray{ int size; // 현재 배열의 크기 int *p; // 정수 배열에 대한 포인터 void sort(); // 정수 배열을 오름차순으로 정렬 public: SortedArray(); // p는 NULL로 size는 0으로 초기화 SortedArray(SortedArray& src); // 복사 생성자 SortedArray(int p[], int size); // 생성자. 정수 배열과 크기를 전달받음 ~SortedArray(); // 소멸자 SortedArray operator+ (SortedArray& op2); // 현재 배열에 op2 배열 추가 SortedArray& operator= (const SortedArray& op2); // 현재 배열에 op2 배열 복사 void show(); // 배열의 원소 출력 }; 1 2 3 4 5 6 7 8 9 10 11 12 int main() { int n[] = { 2, 20, 6 }; int m[] = { 10, 7, 8, 30 }; SortedArray a(n, 3), b(m, 4), c; c = a + b; // +, = 연산자 작성 필요 // + 연산자가 SortedArray 객체를 리턴하므로 복사 생성자 필요 a.show(); b.show(); c.show(); } 실행 결과 : ...

2020년 3월 6일 · 3 분 · Sobamemil

명품 C++ programming 실습 문제 7장 11번

문제 : 스택 클래스 Stack을 만들고 푸시(push)용으로 « 연산자를, 팝(pop)을 위해 » 연산자를, 비어 있는 스택인지를 알기 위해 ! 연산자를 작성하라. 다음 코드를 main()으로 작성하라. 1 2 3 4 5 6 7 8 9 Stack stack; stack « 3 « 5 « 10; // 3,5,10 순서대로 push while(true){ if(!stack) break; //stack empty int x; stack » x; //stack의 top에 있는 정수 pop cout « x « ’ ‘; } cout « endl; 실행 결과 : ...

2020년 3월 6일 · 2 분 · Sobamemil

명품 C++ programming 실습 문제 7장 10번

문제 : 통계를 내는 Statistics 클래스를 만들려고 한다. 데이터는 Statistics 클래스 내부에 int 배열을 동적으로 할당받아 유지한다. 다음과 같은 연산이 잘 이루어지도록 Statistics 클래스와 !, », «, ~ 연산자 함수를 작성하라. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 int main() { Statistics stat; if(!stat) cout « “현재 통계 데이타가 없습니다.” « endl; int x[5]; cout « “5 개의 정수를 입력하라»”; for(int i=0; i<5; i++) cin » x[i]; // x[i]에 정수 입력 for(int i=0; i<5; i++) stat « x[i]; // x[i] 값을 통계 객체에 삽입한다. stat « 100 « 200; // 100, 200을 통계 객체에 삽입한다. ~stat; // 통계 데이터를 모두 출력한다. int avg; stat » avg; // 통계 객체로부터 평균을 받는다. cout « “avg=” « avg « endl; // 평균을 출력한다. } 실행 결과 : ...

2020년 3월 6일 · 3 분 · Sobamemil

명품 C++ programming 실습 문제 7장 9번

문제 : 문제 8번의 Circle 객체에 대해 다음 연산이 가능하도록 연산자를 구현하라. 1 2 3 4 Circle a(5), b(4); b = 1+a; // b의 반지름을 a의 반지름에 1을 더한 것으로 변경 a.show(); b.show(); 2020/03/06 - [C++/명품 C++ programming] - 명품 C++ programming 실습 문제 7장 8번 [명품 C++ programming 실습 문제 7장 8번 문제 : 원을 추상화한 Circle 클래스는 간단히 아래와 같다. 1 2 3 4 5 6 class Circle{ int radius; public: Circle(int radius=0) { this->radius = radius; } void show() { cout « “radius = " « radius «.. ...

2020년 3월 6일 · 2 분 · Sobamemil

명품 C++ programming 실습 문제 7장 8번

문제 : 원을 추상화한 Circle 클래스는 간단히 아래와 같다. 1 2 3 4 5 6 class Circle{ int radius; public: Circle(int radius=0) { this->radius = radius; } void show() { cout « “radius = " « radius « " 인 원” « endl; } }; 다음 연산이 가능하도록 연산자를 프렌드 함수로 작성하라. 1 2 3 4 5 Circle a(5), b(4); ++a; // 반지름을 1 증가 시킨다. b = a++; // 반지름을 1 증가 시킨다. a.show(); b.show(); 실행 결과 : ...

2020년 3월 6일 · 2 분 · Sobamemil

명품 C++ programming 실습 문제 7장 7번

문제 : 2차원 행렬을 추상화한 Matrix 클래스를 활용하는 다음 코드가 있다. 1 2 3 4 5 6 7 8 Matrix a(4,3,2,1), b; int x[4], y[4]={1,2,3,4}; // 2차원 행렬의 4 개의 원소 값 a » x; // a의 각 원소를 배열 x에 복사. x[]는 {4,3,2,1} b « y; // 배열 y의 원소 값을 b의 각 원소에 설정 for(int i=0; i<4; i++) cout « x[i] « ’ ‘; // x[] 출력 cout « endl; b.show(); (1) «, » 연산자 함수를 Matrix의 멤버 함수로 구현하라. ...

2020년 3월 6일 · 3 분 · Sobamemil

명품 C++ programming 실습 문제 7장 6번

문제 : 2차원 행렬을 추상화한 Matrix 클래스를 작성하고, show() 멤버 함수와 다음 연산이 가능하도록 연산자를 모두 구현하라. 1 2 3 4 5 6 Matrix a(1,2,3,4), b(2,3,4,5), c; c = a + b; a += b; a.show(); b.show(); c.show(); if(a==c) cout « “a and c are the same” « endl; (1) 연산자 함수를 Matrix의 멤버 함수로 구현하라. (2) 연산자 함수를 Matrix의 프렌드 함수로 구현하라. 실행 결과 : 목적 및 힌트 : ...

2020년 3월 6일 · 3 분 · Sobamemil