• 코드:
​x
 
1
#include <iostream>
2
using namespace std;
3
​
4
class Book
5
{
6
private:
7
    int current_page_;
8
    void set_percent();
9
public:
10
    Book(const string& title, int total_page);
11
    Book(const Book&);  // 복사 생성자의 원형 정의 
12
    string title_;
13
    int total_page_;
14
    double percent_;
15
    void Move(int page);
16
    void Open();
17
    void Read();
18
};
19
​
20
int main(void)
21
{
22
    Book web_book("HTML과 CSS", 350);
23
    Book html_book(web_book);
24
    
25
    cout << "첫 번째 책의 제목은 " << web_book.title_ << "이고, 총 페이지는 " << web_book.total_page_ << "장입니다." << endl;
26
    cout << "두 번째 책의 제목은 " << html_book.title_ << "이고, 총 페이지는 " << html_book.total_page_ << "장입니다.";
27
    return 0;
28
}
29
​
30
Book::Book(const string& title, int total_page)
31
{
32
    title_ = title;
33
    total_page_ = total_page;
34
    current_page_ = 0;
35
    set_percent();
36
}
37
​
38
Book::Book(const Book& origin)  // 복사 생성자의 선언 
39
{
40
    title_ = origin.title_;
41
    total_page_ = origin.total_page_;
42
    current_page_ = origin.current_page_;
43
    percent_ = origin.percent_;
44
}
45
​
46
void Book::set_percent()
47
{
48
    percent_ = (double) current_page_ / total_page_ * 100;
49
}
표준입력 & 실행옵션