C++#
VEX EXP C++ API 參考文件解釋了 VEXcode EXP C++ 專案中使用的類別、物件、建構函式、成員函式和變數。
當您想要了解裝置或功能的建立方式、檢查要使用的函式簽章或比較類別中的相關成員函式時,請使用此參考資料。
VEXcode EXP C++ 專案使用 C++ 指令。 VEX Visual Studio Code 擴充功能也支援使用 Visual Studio Code 編寫的項目,並提供 C++ API 資訊。
如何閱讀 C++ 類別頁面#
C++ 課程頁面通常遵循以下順序:
簡介 - 解釋該類別代表什麼以及何時有用。
派生類別 - 列出所有基於此類的類別(如果適用)。
類別建構子或建構子 - 顯示用於從類別建立物件的語法。
類別析構函數 - 顯示用於銷毀物件並釋放其資源(如果適用)的語法。
參數 - 說明建立物件時所使用的建構子參數。
範例 - 展示如何在程式碼中建立物件。
成員函數 - 列出屬於該類別的函數,通常按用途分組。
函數條目 - 解釋每個成員函數,包括可用函數、參數、傳回值、註解和範例。
並非每個頁面都包含所有部分。例如,有些頁面不包含衍生類,有些函數沒有參數或傳回值。
常用C++ API元素#
元素 |
它的意義 |
|---|---|
班級 |
設備或功能的 C++ 類型,例如 |
目的 |
由類別建立的命名實例,例如 |
構造器 |
用於從類別建立物件的程式碼。 |
成員功能 |
對物件呼叫的命令,例如 |
可用功能 |
每個成員函數只能使用一個確切的函數簽名。有些成員函數可能有多個可用的函數簽章。 |
範圍 |
傳遞給建構函數或函數的值,用於控制其執行的操作。 |
傳回值 |
函數傳回的值,例如 |
C++基礎詞彙#
學期 |
它的意義 |
|---|---|
多變的 |
儲存值的名稱,例如 |
類型 |
某事物儲存的資料型,例如 |
細繩 |
引號內的文本,例如 |
int |
正整數或負整數,例如 |
雙倍的 |
可以包含小數的數字類型,例如 |
布林值 |
數值為 |
爭論 |
傳遞給成員函數或函數呼叫的值,例如 |
建構函數和對象#
在使用許多 C++ 類別的成員函數之前,必須先建立一個物件。建構函式展示如何建立該物件。
例如,可以透過向建構函數提供所需的連接埠或配置資訊來建立馬達物件:
motor Motor1 = motor(PORT1, false);
物件建立完成後,即可呼叫其成員函數:
Motor1.spin(forward);
在 VEXcode 中,裝置配置通常由裝置選單自動產生。而在安裝了 VEX 擴充功能的 Visual Studio Code 中,可能需要手動編寫建構函式。
選擇合適的可用功能#
有些成員函數有多個可用版本。每個版本使用的參數集都不同,因此請選擇與項目所需參數值相符的版本。
例如,傳動系統函數可能有一個版本使用當前速度,而另一個版本允許項目選擇速度:
void drive(directionType dir);
void drive(directionType dir, double velocity, velocityUnits units);
這兩個函數都呼叫 drive,但第二個函數提供了更多控制,因為它包含了速度參數。
範例函數輸入#
駕駛#
drive 使機器人無限前進或後退。機器人將持續移動,直到收到其他指令,例如轉向或停止。對於轉速 (RPM) 或每秒輸出次數 (DPS),其限制值會根據傳動系統的齒輪比而變化。
可用功能
void drive(directionType dir);
void drive(directionType dir, double velocity, velocityUnits units);
範圍 |
類型 |
描述 |
|---|---|---|
|
|
機器人移動方向: |
|
|
當使用 |
|
|
速度單位: |
傳回值
此函數不傳回值。
筆記
drive是非等待的;調用後,項目將立即繼續下一行程式碼。傳動系統將繼續運轉,直到呼叫
stop或執行另一個傳動系統運作功能為止。諸如
isDone和isMoving之類的函數不適用於drive,因為它不使用基於目標的移動。
例子
// Drive forward and back
myDrivetrain.drive(forward);
wait(2, seconds);
myDrivetrain.drive(reverse, 25, rpm);
wait(2, seconds);
myDrivetrain.stop();
等待行為和非等待行為#
有些 C++ 程式碼移動函數會等待目前操作完成後才執行下一行程式碼。而有些函數則會在執行完一個操作後立即執行下一行程式碼。
等待中 - 專案將等待函數執行完畢。
無需等待 - 專案啟動函數後立即繼續下一行。
某些函數包含一個參數,例如 waitForCompletion 用於選擇其行為。對於這些函數, true 通常會使專案等待,而 false 則會立即執行下一行程式碼。
小節中的命令#
C++ 指令依裝置或主題進行組織。例如,驅動系統、運動控制、大腦、控制器、智慧型連接埠設備、三線設備、控制台、邏輯和 VEXlink 的命令分別歸入各自的子章節。