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

문제 : Circle 클래스는 다음과 같다. 1 2 3 4 5 6 7 8 class Circle { string name; int radius; public: Circle(int radius=1, string name="") { this->radius = radius; this->name = name; } }; Circle 클래스의 객체를 입출력하는 다음 코드와 실행 결과를 참조하여 «, » 연산자를 작성하고 Circle 클래스를 수정하는 등 프로그램을 완성하라. 1 2 3 Circle d, w; cin » d » w; // 키보드 입력을 받아 객체 d와 w를 완성 cout « d « w « endl; // 객체 d, w 출력 실행 결과 : ...

April 2, 2020 · 2 min · 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(); } 실행 결과 : ...

March 6, 2020 · 3 min · 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 «.. ...

March 6, 2020 · 2 min · 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(); 실행 결과 : ...

March 6, 2020 · 2 min · Sobamemil

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

문제 : 1번 ~ 4번 문제까지 사용될 Book 클래스는 다음과 같습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 class Book{ string title; int price, pages; public: Book(string title="", int price=0, int pages=0){ this->title = title; this->price = price; this->pages = pages; } void show() { cout « title « " " « price « “원 " « pages « " 페이지” « endl; } string getTitle() { return title; } }; 다음 연산을 통해 책의 제목을 사전 순으로 비교하고자 한다. ...

March 6, 2020 · 2 min · Sobamemil

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

문제 : 1번 ~ 4번 문제까지 사용될 Book 클래스는 다음과 같습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 class Book{ string title; int price, pages; public: Book(string title="", int price=0, int pages=0){ this->title = title; this->price = price; this->pages = pages; } void show() { cout « title « " " « price « “원 " « pages « " 페이지” « endl; } string getTitle() { return title; } }; Book 객체를 활용하는 사례이다. ...

March 6, 2020 · 4 min · Sobamemil

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

문제 : 키보드로부터 두 개의 정수를 읽어 큰 수를 화면에 출력하라. 목적 및 힌트 : cin 활용, 키보드로부터 정수 읽기 실행 결과 : 코드 : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 #include using namespace std; int main(){ int a,b; cout « “두 수를 입력하라»”; cin » a » b; // cin 연산자를 이용하여 두개의 정수 입력받기 cout « “큰 수 = “; if(a<b) cout « b; else cout « a; return 0; } 설명 : ...

February 28, 2020 · 1 min · Sobamemil