# 《C++ 教學手冊 第四版》服務專區
|||
|---|---|
||[TOC]|
## 範例下載
本書範例檔以及單數題習題解答可在[這裡](https://flagcomtw-my.sharepoint.com/:f:/g/personal/school_editor_flag_com_tw/Eo9emAasjbVHtYP8Ix5V54sBLpc7Gt8s8thZjsElJi88WQ?e=Z1K3AE)下載。
## 勘誤
### 第 7 章
- 7-4 頁:
範例 ch7-2 前的文字[^1]:
> ...。在此將上面的內容實際化為程式, 以便有更清楚的認識。下面的程式中,宣告一個整數變數 num,以及 num 的參照 rm, 再將參照 rm 加 10 後,分別印出 num 及 rm 的值。
應修正為:
> ...。在此將上面的內容實際化為程式, 以便有更清楚的認識。下面的程式中,宣告一個整數變數 a 以及 a 的參照 ref, 再將參照 ref 加 10 後,分別印出 a 及 ref 的值。
範例 ch7-2 的程式碼應修正第 8 行,把 `a=a+10` 改為 `ref=ref+10`:
```cpp=
// Ch7_2, 參照的認識
#include <iostream>
using namespace std;
int main(void){
int a=5;
int &ref=a; // 宣告 ref 為 a 的參照
ref=ref+10; // 參照 ref 加 10
cout << "a=" << a << endl; // 印出 a 的值
cout << "ref=" << ref << endl; // 印出 ref 的值
return 0;
}
```
執行結果則應該是:
```
a=15
ref=15
```
[^1]: 2025/04/09 感謝讀者 Wc(`a0.....60@gmail.com`)勘誤
### 第 10 章
- 10-23 頁[^2]:這一頁從 Ch10_8.cpp 範例檔案開始,會使用到 `nullptr`,這是 C++ 11 標準定義的,Dev C++ 內的 C++ 編譯器預設並沒有開啟 C++ 11 標準,編譯會出錯,看到如下畫面:

必須修改編譯器的程式碼生成設定:

改為 ISO C++ 11,就可以正常編譯執行:

[^2]:2025/07/11 感謝虎尾科大飛機系王萱鍢老師指正。
### 第 11 章
- 範例 Ch11_14.cpp:這個範例使用到了書上沒有介紹過的 `static_cast`轉換型別,請改成以下使用列舉型別轉換型別的方式:
```cpp
// Ch11_14, 列舉型態的使用
#include <iostream>
#include <string>
using namespace std;
enum month{ // 定義列舉型態
January,February,March,
April,May,June } six;
int main(void){
string a[6]={"January","February","March",
"April","May","June"};
// for(six=January;six<=June;six=static_cast<month>(six+1))
for(six=January;six<=June;six=month(six+1))
cout << "six(" << six << ")=" << a[six] << endl;
return 0;
}
```
## 補充教學
- 如果想要使用 VSCode 開發 C/C++,可以依照〈[使用 VSCode 開發 C/C++ 程式](/imq69VS9QRue4M7r4QgeVg)〉教學文章設置環境。
- 如果要使用 VSCode 開啟本書範例,可以依照〈[使用 VSCode 開啟《C++ 教學手冊》範例檔](/zr8EyjMoRlChWH0wkEc-nA)〉教學文章,避免中文亂碼以及範例檔路徑有中文無法正確執行的問題。