C++
-
명품 C++ 6장 4번C++ 2018. 11. 2. 17:05
4. 다음 클래스에 중복된 생성자를 디폴트 매개 변수 를 가진 하나의 생성자로 작성하고 테스트 프로그램을 작성하라. #include using namespace std;class MyVector { int *mem; int size;public: MyVector(); MyVector(int n, int val); ~MyVector() { delete[]mem; }};MyVector::MyVector() { mem = new int[100]; size = 100; for (int i = 0; i < size; ++i) mem[i] = 0;}MyVector::MyVector(int n, int val) { mem = new int[n]; size = n; for (int i = 0; i < size; ++i..
-
명품 C++ 6장 2번C++ 2018. 11. 2. 16:49
2. Person 클래스의 객체를 생성하는 main() 함수는 다음과 같다. 1) 생성자를 중복 작성하고 프로그램을 완성하라. 소스코드 #include using namespace std;#include class Person { int id; double weight; string name;public: Person() { this->id = 1; this->weight = 20.5; this->name = "Grace"; } Person(int id,string name) { this->id = id; this->weight = 20.5; this->name = name; } Person(int id,string name,double weight) { this->id = id; this->weight..
-
명품 C++ 5장 Open ChallengeC++ 2018. 10. 31. 23:17
영문 텍스트, 숫자, 몇 개의 특수 문자로 구성되는 텍스트를 모스 부호로 변환하는 프로그램을 작성하라. 각 모스 코드들은 하나의 빈칸으로 분리되고, 영문 한 워드가 모스 워드로 변환되면 워드들은 3개의 빈칸으로 분리된다. 소스코드 #include using namespace std;#include class Morse { string alpahbet[26]; // 알파벳의 모스 부호 저장 string digit[10]; // 숫자의 모스 부호 저장 string slash, question, comma, period, plus, equal; // 특수 문자의 모스 부호 저장public: Morse(); // alphabet[], digit[] 배열 및 특수 문자의 모스 부호 초기화 void text2Mor..
-
명품 C++ 5장 12번C++ 2018. 10. 31. 20:52
12. 다음은 학과를 나타내는 Dept 클래스와 이를 활용하는 main()을 보여 준다. class Dept { int size; // scores 배열의 크기 int* scores; // 동적 할당 받을 정수 배열의 주소public: Dept(int size) { //생성자 this->size = size; scores = new int[size]; } Dept(Dept& dept); // 복사 생성자 ~Dept(); int getSize() { return size; } void read(); // size 만큼 키보드에서 정수를 읽어 scores 배열에 저장 bool isOver60(int index); // index의 학생의 성적이 60보다 크면 true 리턴};int countPass(Dept..
-
명품 C++ 5장 11번C++ 2018. 10. 31. 20:32
11. 책의 이름과 가격을 저장하는 다음 Book 클래스에 대해 물음에 답하여라. #include using namespace std;#include class Book { char *title; // 제목 문자열; int price; // 가격public: Book(const char* title, int price); ~Book(); void set(char* title, int price); void show() { cout title, title);} 2) 컴파일러가 삽입하는 디폴트 복사 생성자 코드는 무엇인가? Book::Book(const char* title,int price) { strcpy(this->title, title); this->price = price; } 3) 디폴트 복사 생..
-
명품 C++ 5장 10번C++ 2018. 10. 31. 20:11
10. 참조를 리턴하는 코드를 작성해보자. 다음 코드와 실행 결과를 참고하여 append() 함수를 작성하고 전체 프로그램을 완성하라. append()는 Buffer 객체에 문자열을 추가하고 Buffer 객체에 대한 참조를 반환하는 함수이다. 소스코드 #include using namespace std;#include class Buffer { string text;public: Buffer(string text) { this->text = text; } void add(string next) { text += next; } // text에 next 문자열 덧붙이기 void print() { cout