Skip to main content

Recently Updated Pages

11-5 讓 Vec 可以儲存 int 以外的資料型別

C++程式設計入門 11-自己實作一個 vector 類別

目前我們 Vec 雖然可以動態成長,但是只能存放 int 型別的資料,這讓它變得很沒用。 明明只有型別不同,難道我們要寫一個 Vec_int 給 int 用,寫一個 Vec_double 給 d...

Updated 3 days ago by huihui

11-4 重載 [] 運算子

C++程式設計入門 11-自己實作一個 vector 類別

現在我們還缺一個重要的功能,那就是存取 Vec 裡的值。 試著執行這段程式看看。 [main.cpp] #include <iostream> #include "vec.h" using n...

Updated 3 days ago by huihui

11-3 測試 Vec 類別

C++程式設計入門 11-自己實作一個 vector 類別

目前我們的 Vec 類別如下: [vec.h] #ifndef VEC_H_INCLUDED #define VEC_H_INCLUDED class Vec { private: i...

Updated 3 days ago by huihui

11-2 實作 Vec 的細節

C++程式設計入門 11-自己實作一個 vector 類別

一、建構與解構函數 在建構函數中,我們要初始化 Vec 的 data member。因為剛建立好的 Vec 會是一個空的容器,所以一開始 m_size 和 m_capacity 都是 0。而 m...

Updated 3 days ago by huihui

11-1 規劃我們的 Vec 類別

C++程式設計入門 11-自己實作一個 vector 類別

一、Vec 類別需要什麼? 在這個章節裡,我們嘗試自己建立一個簡單版的 vector,一個叫做 Vec 的類別。 我們至少需要以下三項屬性: data: 指向一塊儲存資料的記憶體空間 si...

Updated 3 days ago by huihui

10-1 類別(class)與物件(object)

C++程式設計入門 10-類別(class)

一、物件(object)與類別(class) 在 C++ 中物件和類別有很嚴謹的定義,我們在這裡僅使用簡單例子來做介紹。 什麼是物件(Object)?你的iPhone是個物件、你現在坐著的這張椅...

Updated 1 week ago by huihui

10-4 Class 練習題

C++程式設計入門 10-類別(class)

練習一:電影票券(Ticket) 情境說明 你正在設計一套電影院售票系統。每張票券記錄了電影名稱、座位號碼、票價,以及是否已被使用。票券一旦使用就不能再次入場;票價不能設為負數。 規格列表 成...

Updated 1 week ago by huihui

10-3 如何建立複雜的類別

C++程式設計入門 10-類別(class)

一、成員函數可以定義在 class 之外 我們可以只在 class body 中 宣告 member function,再將它 定義 在 class body 之外。 class sprite ...

Updated 1 week ago by huihui

10-2 存取控制——public 與 private

C++程式設計入門 10-類別(class)

一、class 裡的東西,不是誰都可以動的 先看一個銀行帳戶的例子。 #include <iostream> using namespace std; class BankAccount {...

Updated 1 week ago by huihui

9-5 實作練習

C++程式設計入門 09-STL 容器 - vector

練習一:成績管理系統(基礎操作) 題目敘述 請你撰寫一個程式,功能如下: 讀入 N 筆學生成績(整數,0~100) 輸出所有成績 輸出最高分、最低分、平均分數(取到小數點後兩位) 刪除最後一筆...

Updated 1 month ago by huihui

9-4 常用成員函數

C++程式設計入門 09-STL 容器 - vector

其他常用成員函數 1. front() 與 back() vector<int> v = {10, 20, 30, 40, 50}; cout << v.front(); // 10:第一個...

Updated 1 month ago by huihui

9-1 vector

C++程式設計入門 09-STL 容器 - vector

1. 為什麼需要 vector? 1.1 傳統陣列的限制 在 C++ 中,我們熟悉的傳統陣列有一個根本的問題:大小必須在編譯時決定,且無法改變。 int scores[100]; // 固定...

Updated 1 month ago by huihui

9-3 走訪 vector

C++程式設計入門 09-STL 容器 - vector

走訪 vector 1. 方法一:下標 for 迴圈 最直覺的方式,適合需要使用索引時: vector<int> v = {10, 20, 30, 40, 50}; for (int i = ...

Updated 1 month ago by huihui

9-2 vector 的基礎操作

C++程式設計入門 09-STL 容器 - vector

vector 基礎操作 1. 引入標頭檔與宣告 使用 vector 前,需要引入標頭檔: #include <iostream> #include <vector> using namespa...

Updated 1 month ago by huihui

8-1 struct

C++程式設計入門 08-自訂型別 (struct)

1. 自訂型別 struct 在 C++ 中,我們可以把多個彼此相關的資料包在一起,創造出一個全新的型別。 例如,一位學生可能有以下資料: 姓名 年齡 成績 如果分別用三個變數來表示,資料容...

Updated 1 month ago by huihui

8-2 小專案參考解答

C++程式設計入門 08-自訂型別 (struct)

#include <iostream> #include <ctime> using namespace std; struct Item { string name; do...

Updated 1 month ago by huihui

7-1 指標(pointer)

C++程式設計入門 07-指標

記憶體-位址 當宣告一個變數並賦予它初值後,我們可以確定這個值一定存放在電腦記憶體的某個地方,問題是它到底放在哪裡呢 ? 在地球表面上我們可以用經緯度來標定一個位置,而在電腦裡要標定記憶體中的某...

Updated 1 month ago by huihui

6-2 在函數中使用函數

C++程式設計入門 06-函數

相同名稱的函數 原則上函數的名稱不能重覆,但是只要其參數列不同,就可以使用相同的名稱。 以下面的程式為例,我們可以觀察到叫用函數時,編譯器會檢查函數名稱和參數列數量和型別。 #include <...

Updated 3 months ago by huihui

5.3 多維陣列

C++程式設計入門 05-陣列

二維陣列 把索引值擴展為 2 維,我們就可以得到二維陣列。 一個大小為 m x n 的二維陣列,可以這樣宣告。 // 宣告一個 4 x 6 的 int 二維陣列 int A[4][6]; 和一...

Updated 5 months ago by huihui

5.2 字串

C++程式設計入門 05-陣列

字串是字元的陣列 字串可以被視為一個字元型別的一維陣列,例如:"Hello world!"在記憶體中是這樣一個一個字元儲存的。 #include <iostream> using namesp...

Updated 5 months ago by huihui