C++#
La Referencia de API de VEX V5 C++ explica las clases, objetos, constructores, funciones miembro y variables utilizadas en los proyectos de VEXcode V5 C++.
Utilice esta referencia cuando desee comprender cómo se crea un dispositivo o función, comprobar qué firma de función usar o comparar funciones de miembro relacionadas en una clase.
Los comandos C++ se utilizan en proyectos VEXcode V5 C++. La información de la API de C++ también puede admitir proyectos escritos en Visual Studio Code con la extensión VEX Visual Studio Code.
Cómo leer una página de clase de C++#
Una página de clase C++ generalmente sigue este orden:
Introducción: explica lo que representa la clase y cuándo es útil.
Clases derivadas: enumera las clases que se basan en esta clase, si corresponde.
Class Constructor o Constructors: muestra la sintaxis utilizada para crear un objeto a partir de la clase.
Destructor de clases: muestra la sintaxis utilizada para destruir el objeto y liberar sus recursos, si corresponde.
Parámetros - Explica los parámetros del constructor utilizados al crear el objeto.
Ejemplo - Muestra cómo crear el objeto en código.
Funciones de miembro: enumera las funciones que pertenecen a la clase, a menudo agrupadas por propósito.
Entradas de funciones: explica cada función miembro, incluidas 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 o valores de retorno.
Elementos comunes de API de C++#
Elemento |
Qué significa |
|---|---|
Clase |
El tipo C++ para un dispositivo o función, como un |
Objeto |
Una instancia con nombre creada a partir de una clase, como |
Constructor |
El código utilizado para crear un objeto a partir de una clase. |
Función de miembro |
Un comando llamado a un objeto, como |
Función disponible |
Una firma de función exacta que se puede usar para una función miembro. Algunas funciones de miembro tienen más de una función disponible. |
Parámetro |
Un valor pasado a un constructor o función para controlar lo que hace. |
Valor de devolución |
Un valor que devuelve una función, como |
Vocabulario básico en C++#
Plazo |
Qué significa |
|---|---|
Variable |
Un nombre que almacena un valor, como |
Tipo |
El tipo de datos que algo almacena, como |
Cadena |
Texto entre comillas, como |
int |
Un tipo de número entero positivo o negativo, como |
doble |
Un tipo de número que puede incluir un decimal, como |
bool |
Un valor que es |
Argumento |
Un valor pasado a una función miembro o llamada a función, como |
Constructores y objetos#
Antes de usar 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 motor dando al constructor el puerto o la información de configuración que necesita:
motor Motor1 = motor(PORT1, false);
Después de crear el objeto, sus funciones miembro se pueden llamar:
Motor1.spin(forward);
En VEXcode, la configuración del dispositivo a menudo se genera automáticamente por el menú del dispositivo. En Visual Studio Code con la extensión VEX, es posible que los constructores deban escribirse manualmente.
Elegir la función disponible correcta#
Algunas funciones de miembro tienen más de una función disponible. Cada función utiliza un conjunto diferente de parámetros, así que elige el que coincida con los valores que tu proyecto debe proporcionar.
Por ejemplo, una función de transmisión puede tener una versión que utiliza la velocidad actual y otra versión que permite al proyecto elegir una velocidad:
void drive(directionType dir);
void drive(directionType dir, double velocity, velocityUnits units);
Ambas funciones llaman a la drive, pero la segunda función da más control porque incluye parámetros de velocidad.
Ejemplo de entrada de función#
unidad#
drive mueve el robot hacia adelante o hacia atrás para siempre. El robot continuará moviéndose hasta que se le dé otra acción, como girar o detenerse. Para RPM o DPS, el límite se cambia por la relación de transmisión del tren motriz.
Funciones disponibles
void drive(directionType dir);
void drive(directionType dir, double velocity, velocityUnits units);
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
La dirección en la que se mueve el robot: |
|
|
La velocidad para conducir con del 0% al 100% cuando se usan |
|
|
La unidad de velocidad |
Valor de devolución
Esta función no devuelve un valor.
Notas
driveno está en espera; el proyecto continuará ejecutando la siguiente línea de código inmediatamente después de la llamada.El sistema de transmisión continuará moviéndose hasta que se llame a la función
stopo se ejecute otra función de movimiento del sistema de transmisión.Funciones como isDone
isDonee isMoving noisMovingson aplicables a ladrive, ya que no utiliza el movimiento basado en objetivos.
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 no espera#
Algunas funciones de movimiento de C++ esperan hasta que se termina 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.
Esperando: el proyecto espera hasta que finalice la función.
Sin espera: el proyecto inicia la función y continúa inmediatamente a la siguiente línea.
Algunas funciones incluyen un parámetro como waitForCompletion para elegir este comportamiento. Para esas funciones, true generalmente hace que el proyecto espere, mientras que false permite que la siguiente línea se ejecute de inmediato.
Comandos en subsecciones#
Los comandos de C++ están organizados por dispositivo o tema. Por ejemplo, los comandos para la transmisión, los motores, el controlador, el cerebro, los dispositivos de puerto inteligente, los dispositivos de 3 cables, la consola, la lógica y VEXlink se agrupan en sus propias subsecciones.