C++
-
명품 C++ 7장 5번C++ 2018. 11. 3. 13:14
5. 다음 main()에서 Color 클래스는 3요소(빨강, 초록, 파랑)로 하나의 색을 나타내는 클래스이다(4장 실습 문제 1번참고). + 연산자로 색을 더하고, == 연산자로 색을 비교하고자 한다. 실행결과를 참고하여 Color 클래스와 연산자, 그리고 프로그램을 완성하라. int main() { Color red(255, 0, 0), blue(0, 0, 255), c; c = red + blue; c.show(); // 색 값 출력 Color fuchsia(255, 0, 255); if (c == fuchsia) cout
-
명품 C++ 7장 1번 2번 3번 4번C++ 2018. 11. 3. 13:02
문제 1~4까지 사용될 Book 클래스는 다음과 같다. #include #include using namespace std;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
-
명품 C++ 6장 Open ChallengeC++ 2018. 11. 2. 19:03
Up & down 게임 만들기 Up & Down 게임 프로그램을 작성해보자. 게임에 참석하는 사람은 2명이며, 번갈아 가며 다음과 같이 숨겨진 답에 접근해 간다. Up & Down 게임은 전체적으로 UpAndDownGame 클래스로 작성하고 static 멤버로만 구성하라. 선수를 표현하기 위해 Person 클래스를 작성하고 main() 함수는 프로그램을 시작시키는 기능정도로만 구현하라. 소스코드 #include #include #include #include using namespace std;class Person { string name;public: void setName(string n) { name = n; } string getName() { return name; }};class UpAndG..
-
명품 C++ 6장 9번C++ 2018. 11. 2. 18:22
9. 게시판 프로그램을 작성해보자. 멀티태스킹의 경우 여러 사용자들이 게시판에 글을 올리기 때문에 게시판 객체는 전체 하나만 있어야 한다. 그러므로 게시판 객체의 멤버들은 static으로 작성한다. 다음은 게시판 기능을 하는 Board 클래스를 활용하는 main() 코드이다. 실행 결과를 참고하여 Board 클래스를 만들고 전체 프로그램을 완성하라. static 연습이 목적이기 때문에 게시판 기능을 글을 올리는 기능과 게시글을 모두 출력하는 기능으로 제한하고 main() 도 단순화 하였다. 소스코드 #include #include #define ARRAY_MAX 1000using namespace std;class Board { static string *textArray; static int num;p..
-
명품 C++ 6장 8번C++ 2018. 11. 2. 18:18
8. 디버깅에 필요한 정보를 저장하는 Trace 클래스를 만들어보자. Trace 클래스를 활용하는 다음 프로그램과 결과를 참고하여 Trace 클래스를 작성하고 전체 프로그램을 완성하라. 디버깅 정보는 100개로 제한한다. 소스코드 #include #include using namespace std;class Trace { static string tag[100]; static string debug[100]; static int size;public: static void put(string t, string d); static void print(string t);};int Trace::size = 0;string Trace::tag[100];string Trace::debug[100];void Tra..
-
명품 C++ 6장 7번C++ 2018. 11. 2. 17:54
7. 다음과 같은 static 멤버를 가진 Random 클래스를 완성하라. 그리고 Random 클래스를 이용하여 다음과 같이 랜덤한 값을 출력하는 main() 함수도 작성하라. main()에서 Random 클래스의 seed() 함수를 활용하라. 소스코드 #include #include #include using namespace std;class Random {public: // 항상 다른 랜덤수를 발생시키기 위한 seed를 설정하는 함수 static void seed() { srand((unsigned)time(0)); } // 씨드 설정 static int nextInt(int min = 0, int max = 32767); // min과 max 사이의 랜덤 정수 리턴 static char nextA..
-
명품 C++ 6장 6번C++ 2018. 11. 2. 17:51
6. 동일한 크기의 배열을 변환하는 다음 2개의 static 멤버 함수를 가진 ArrayUtility2 클래스를 만들고, 이 클래스를 이용하여 아래 결과와 같이 출력되록 프로그램을 완성하라. 소스코드 #include using namespace std;class ArrayUtility2 {public: // s1과 s2를 연결한 새로운 배열을 동적 생성하고 포인터 리턴 static int* concat(int s1[], int s2[], int size); // s1에서 s2에 있는 숫자를 모두 삭제한 새로운 배열을 동적 생성하여 리턴. 리턴하는 배열의 크기는 // retSize에 전달. retSize가 0인 경우 NULL 리턴 static int* remove(int s1[], int s2[], int..
-
명품 C++ 6장 5번C++ 2018. 11. 2. 17:17
5. 동일한 크기로 배열을 만드는 다음 2개의 static 멤버 함수를 가진 ArrayUtility 클래스를 만들어라. static void intToDouble(int source[], double dest[], int size); // int[]을 double[]로 변환static void doubleToInt(double source[], int dest[], int size); // double[]을 int[]로 변환 소스코드 #include using namespace std;class ArrayUtility {public: static void intToDouble(int source[], double dest[], int size); // int[]을 double[]로 변환 static vo..