C++#
La referencia de la API de C++ de VEX IQ (2.ª generación) explica las clases, los objetos, los constructores, las funciones miembro y las variables que se utilizan en los proyectos de C++ de VEXcode IQ.
Utilice esta referencia cuando desee comprender cómo se crea un dispositivo o una función, comprobar qué firma de función utilizar o comparar funciones miembro relacionadas en una clase.
Los comandos de C++ se utilizan en proyectos de VEXcode IQ C++. La información de la API de C++ también puede ser útil para proyectos escritos en Visual Studio Code con la extensión VEX para Visual Studio Code.
Cómo leer una página de clase de C++#
Una página de clase de C++ generalmente sigue este orden:
Introducción - Explica qué representa la clase y cuándo es útil.
Clases derivadas - Enumera las clases que se basan en esta clase, si corresponde.
Constructor o constructores de clase - Muestra la sintaxis utilizada para crear un objeto a partir de la clase.
Destructor de clase - Muestra la sintaxis utilizada para destruir el objeto y liberar sus recursos, si corresponde.
Parámetros - Explica los parámetros del constructor que se utilizan al crear el objeto.
Ejemplo - Muestra cómo crear el objeto en el código.
Funciones miembro - Enumera las funciones que pertenecen a la clase, a menudo agrupadas por propósito.
Entradas de funciones - Explica cada función miembro, incluyendo las funciones disponibles, los parámetros, los valores de retorno, las notas y los ejemplos.
No todas las páginas tienen todas las secciones. Por ejemplo, algunas páginas no incluyen clases derivadas y algunas funciones no tienen parámetros ni valores de retorno.
Elementos comunes de la API de C++#
Elemento |
Qué significa |
|---|---|
Clase |
The C++ type for a device or feature, such as |
Objeto |
A named instance created from a class, such as |
Constructor |
El código utilizado para crear un objeto a partir de una clase. |
Función de miembro |
A command called on an object, such as |
Función disponible |
Una firma de función exacta que se puede usar para una función miembro. Algunas funciones miembro tienen más de una función disponible. |
Parámetro |
Un valor que se pasa a un constructor o función para controlar su funcionamiento. |
Valor de retorno |
A value a function gives back, such as |
Vocabulario básico de C++#
Término |
Qué significa |
|---|---|
Variable |
A name that stores a value, such as |
Tipo |
The kind of data something stores, such as |
Cadena |
Text inside quotes, such as |
int |
A positive or negative whole number type, such as |
doble |
A number type that can include a decimal, such as |
bool |
A value that is either |
Argumento |
A value passed into a member function or function call, such as |
Constructores y objetos#
Antes de utilizar las funciones miembro de muchas clases de C++, debe existir un objeto. El constructor muestra cómo crear ese objeto.
Por ejemplo, se puede crear un objeto de dispositivo proporcionando al constructor la información de puerto o configuración que necesita:
motor Motor1 = motor(PORT1, false);
Una vez creado el objeto, se pueden llamar sus funciones miembro:
Motor1.spin(forward);
En VEXcode, la configuración del dispositivo suele generarse automáticamente mediante el menú Dispositivo. En Visual Studio Code con la extensión VEX, puede ser necesario escribir los constructores manualmente.
Elegir la función disponible adecuada#
Algunas funciones miembro tienen más de una función disponible. Cada función utiliza un conjunto diferente de parámetros, así que elige la que coincida con los valores que tu proyecto necesita proporcionar.
Por ejemplo, una función de transmisión puede tener una versión que utilice la velocidad actual y otra versión que permita al proyecto elegir una velocidad:
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.
Ejemplo de entrada de función#
conducir#
drive moves the robot forward or reverse forever. The robot will continue to move until it is given another action, like turning or stopping.
Funciones disponibles
void drive(directionType dir);
void drive(directionType dir, double velocity, velocityUnits units);
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
The direction the robot moves: |
|
|
The velocity to drive with from 0% to 100% when using |
|
|
The velocity unit: |
Valor de retorno
Esta función no devuelve ningún valor.
Notas
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.
Ejemplo
// Drive forward and back.
myDrivetrain.drive(forward);
wait(2, seconds);
myDrivetrain.drive(reverse, 25, rpm);
wait(2, seconds);
myDrivetrain.stop();
Comportamiento de espera y comportamiento de no espera#
Algunas funciones de movimiento en C++ esperan a que finalice una acción antes de que el proyecto pase a la siguiente línea de código. Otras funciones inician una acción y permiten que la siguiente línea se ejecute de inmediato.
En espera - El proyecto espera hasta que la función finalice.
Sin espera - El proyecto inicia la función e inmediatamente continúa con la siguiente línea.
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.
Comandos en subsecciones#
Los comandos de C++ se organizan por dispositivo o tema. Por ejemplo, los comandos para los dispositivos de transmisión, movimiento, cerebro, controlador, puerto inteligente, sensor inercial, consola y lógica se agrupan en subsecciones propias.