C++ 入門指南 4.01

練習 12.10 參考程式 - 練習設計遊戲類別的建構函數

// 引入標準程式庫中相關的輸入、輸出程式
#include <iostream>

// std 為標準程式庫的命名空間
using namespace std;

// 宣告 Guess 類別
class Guess {
// 宣告 public 成員
public:
    Guess();
    Guess(string);
    string get_a();

private:
    string answer;
    void set_a(string);
};

// 實作建構函數
Guess::Guess() {
    set_a("0");
}

Guess::Guess(string a) {
    set_a(a);
}

// 實作 setter 成員函數
void Guess::set_a(string n) {
    answer = n;
}

// 實作 getter 成員函數
string Guess::get_a() {
    return answer;
}

// 宣告 Game 類別
class Game {
// 宣告 public 成員
public:
    Game(Guess);
    string get_g();
    void Run();

private:
    Guess guess;
    void set_g(Guess);
};

// 實作建構函數
Game::Game(Guess g) {
    set_g(g);
}

// 實作 Game 類別的 setter 成員函數
void Game::set_g(Guess g) {
    guess = g;
}

// 實作 Game 類別的 getter 成員函數
string Game::get_g() {
    return guess.get_a();
}

// 實作 Game 的 Run() 成員函數
void Game::Run() {
    // 印出 answer
    cout << endl;
    cout << guess.get_a() << endl;
    cout << endl;
}

int main(void) {
    // 宣告建立 Guess 物件
    Guess g("0");

    // 宣告建立執行 Game 物件
    Game game(g);
    game.Run();

    // 最後回傳 0 給作業系統
    return 0;
}

/* 《程式語言教學誌》的範例程式
   http://kaiching.org/
   檔名:exercise1210.cxx
   編譯:g++ exercise1210.cxx
   執行:./a.out
   功能:C++入門指南單元十二的練習
   作者:張凱慶 */
回到練習題目

上一頁 練習 12.9 參考程式 - 練習設計場景類別的建構函數
回 C++ 入門指南 4.01 目錄
下一頁 練習 13.1 參考程式 - 練習設計整數計算類別的標頭檔
回 C++ 教材
回程式語言教材首頁