C++ 入門指南 4.01
練習 13.3 參考程式 - 練習設計費氏數列類別的標頭檔
exercise1303.h
// 宣告 FibonacciDemo 類別 class FibonacciDemo { // 宣告 public 成員 public: FibonacciDemo(int); int get_value(); void Compute(int); // 宣告 private 成員 private: int value; void set_value(int); }; /* 《程式語言教學誌》的範例程式 http://kaiching.org/ 檔名:exercise1303.h 功能:C++入門指南單元十三的練習 作者:張凱慶 */
exercise1303.cxx
// 須引進標頭檔 #include "exercise1303.h" // 實作建構函數 FibonacciDemo::FibonacciDemo(int n) { set_value(n); } // 實作 setter 成員函數 void FibonacciDemo::set_value(int p) { // 計算費氏數列的數字 if (p == 1 || p == 2) { value = 1; } else { // 計算到 n 的費氏數列數字 int n1 = 1; int n2 = 1; int n3; for (int i = 3; i <= p; i++) { n3 = n1 + n2; n1 = n2; n2 = n3; } value = n3; } } // 實作 getter 成員函數 int FibonacciDemo::get_value() { return value; } /* 《程式語言教學誌》的範例程式 http://kaiching.org/ 檔名:exercise1303.cxx 編譯:g++ exercise1303.cxx exercise1303_demo.cxx 執行:./a.out 功能:C++入門指南單元十三的練習 作者:張凱慶 */
exercise1303_demo.cxx
// 引入標準程式庫中相關的輸入、輸出程式 #include <iostream> // 須引進標頭檔 #include "exercise1303.h" // std 為標準程式庫的命名空間 using namespace std; int main(void) { // 接收使用者輸入 int input; cin >> input; // 宣告建立 FibonacciDemo 物件 FibonacciDemo a(input); // 印出使用者指定的階層數 cout << endl; cout << a.get_value() << endl; cout << endl; // 最後回傳 0 給作業系統 return 0; } /* 《程式語言教學誌》的範例程式 http://kaiching.org/ 檔名:exercise1303_demo.cxx 編譯:g++ exercise1303.cxx exercise1303_demo.cxx 執行:./a.out 功能:C++入門指南單元十三的練習 作者:張凱慶 */