C++#
VEX IQ(第二代)C++ API 参考文档解释了 VEXcode IQ C++ 项目中使用的类、对象、构造函数、成员函数和变量。
当您想要了解设备或功能的创建方式、检查要使用的函数签名或比较类中的相关成员函数时,请使用此参考资料。
VEXcode IQ C++ 项目使用 C++ 命令。此外,借助 VEX Visual Studio Code 扩展,C++ API 信息也支持使用 Visual Studio Code 编写的项目。
如何阅读 C++ 类页面#
C++ 课程页面通常遵循以下顺序:
简介 - 解释该类代表什么以及何时有用。
派生类 - 列出所有基于此类的类(如果适用)。
类构造函数或构造函数 - 显示用于从类创建对象的语法。
类析构函数 - 显示用于销毁对象并释放其资源(如果适用)的语法。
参数 - 说明创建对象时使用的构造函数参数。
示例 - 展示如何在代码中创建对象。
成员函数 - 列出属于该类的函数,通常按用途分组。
函数条目 - 解释每个成员函数,包括可用函数、参数、返回值、注释和示例。
并非每个页面都包含所有部分。例如,有些页面不包含派生类,有些函数没有参数或返回值。
常用C++ API元素#
元素 |
它的含义 |
|---|---|
班级 |
The C++ type for a device or feature, such as |
目的 |
A named instance created from a class, such as |
构造器 |
用于从类创建对象的代码。 |
成员功能 |
A command called on an object, such as |
可用功能 |
每个成员函数只能使用一个确切的函数签名。有些成员函数可能有多个可用的函数签名。 |
范围 |
传递给构造函数或函数的值,用于控制其执行的操作。 |
返回值 |
A value a function gives back, such as |
C++基础词汇#
学期 |
它的含义 |
|---|---|
多变的 |
A name that stores a value, such as |
类型 |
The kind of data something stores, such as |
细绳 |
Text inside quotes, such as |
int |
A positive or negative whole number type, such as |
双倍的 |
A number type that can include a decimal, such as |
布尔值 |
A value that is either |
争论 |
A value passed into a member function or function call, such as |
构造函数和对象#
在使用许多 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);
Both functions call drive, but the second function gives more control because it includes velocity parameters.
示例函数输入#
驾驶#
drive moves the robot forward or reverse forever. The robot will continue to move until it is given another action, like turning or stopping.
可用功能
void drive(directionType dir);
void drive(directionType dir, double velocity, velocityUnits units);
范围 |
类型 |
描述 |
|---|---|---|
|
|
The direction the robot moves: |
|
|
The velocity to drive with from 0% to 100% when using |
|
|
The velocity unit: |
返回值
此函数不返回值。
笔记
driveis non-waiting. The project will run the next line of code right away.The robot will continue to move until
stopis called or another drivetrain movement function runs.isDoneandisMovingare not used withdrivebecausedrivedoes not have a target distance.
例子
// Drive forward and back.
myDrivetrain.drive(forward);
wait(2, seconds);
myDrivetrain.drive(reverse, 25, rpm);
wait(2, seconds);
myDrivetrain.stop();
等待行为和非等待行为#
一些 C++ 代码移动函数会等待当前操作完成后才执行下一行代码。而另一些函数则会在执行完一个操作后立即执行下一行代码。
等待中 - 项目将等待函数执行完毕。
无需等待 - 项目启动函数后立即继续执行下一行。
Some functions include a parameter such as waitForCompletion to choose this behavior. For those functions, true usually makes the project wait, while false lets the next line run right away.
小节中的命令#
C++ 命令按设备或主题进行组织。例如,驱动系统、运动控制、大脑、控制器、智能端口设备、惯性传感器、控制台和逻辑的命令分别归入各自的子章节中。