ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 명품 C++ 6장 9번
    C++ 2018. 11. 2. 18:22

    9. 게시판 프로그램을 작성해보자. 멀티태스킹의 경우 여러 사용자들이 게시판에 글을 올리기 때문에 게시판 객체는 전체 하나만 있어야 한다. 그러므로 게시판 객체의 멤버들은 static으로 작성한다. 다음은 게시판 기능을 하는 Board 클래스를 활용하는 main() 코드이다. 실행 결과를 참고하여 Board 클래스를 만들고 전체 프로그램을 완성하라. static 연습이 목적이기 때문에 게시판 기능을 글을 올리는 기능과 게시글을 모두 출력하는 기능으로 제한하고 main() 도 단순화 하였다.


    소스코드 


    #include <iostream>
    #include <string>
    #define ARRAY_MAX 1000
    using namespace std;
    class Board {
        static string *textArray;
        static int num;
    public:
        static void add(string text);
        static void print();
    };
    void Board::add(string text) {
        textArray[num] = text;
        ++num;
    }
    void Board::print() {
        cout << "********** 게시판입니다. **********" << endl;
        for (int i = 0; i < num; ++i) {
            cout << i << ": " << textArray[i] << endl;
        }
    }
    string *Board::textArray = new string[ARRAY_MAX]; // static 멤버 변수는 외부에서 초기화
    int Board::num = 0;
    int main() {
        // Board myBoard; // 객체 생성은 컴파일 오류입니다.
        Board::add("중간고사는 감독 없는 자율 시험입니다.");
        Board::add("코딩 라운지 많이 이용해 주세요.");
        Board::print();
        Board::add("진소린 학생이 경진대회 입상하였습니다. 축하해주세요");
        Board::print();
    }


    실행결과




    8번과 비슷한 문제입니다.


    'C++' 카테고리의 다른 글

    명품 C++ 7장 1번 2번 3번 4번  (0) 2018.11.03
    명품 C++ 6장 Open Challenge  (0) 2018.11.02
    명품 C++ 6장 8번  (2) 2018.11.02
    명품 C++ 6장 7번  (0) 2018.11.02
    명품 C++ 6장 6번  (0) 2018.11.02

    댓글

© 2018 TISTORY. All rights reserved.