C++#
Справочник по API VEX IQ (2-го поколения) на C++ объясняет классы, объекты, конструкторы, функции-члены и переменные, используемые в проектах VEXcode IQ на C++.
Используйте этот справочник, если хотите понять, как создается устройство или функция, проверить, какую сигнатуру функции использовать, или сравнить связанные функции-члены класса.
Команды C++ используются в проектах VEXcode IQ C++. Информация об API C++ также может поддерживать проекты, написанные в Visual Studio Code с расширением VEX Visual Studio Code.
Как читать страницу класса C++#
Страница класса C++ обычно располагается в следующем порядке:
Введение — Объясняет, что представляет собой данный класс и когда он полезен.
Производные классы — Отображает все классы, основанные на этом классе, если таковые имеются.
Конструктор или конструкторы класса — отображает синтаксис, используемый для создания объекта из класса.
Деструктор класса — Отображает синтаксис, используемый для уничтожения объекта и освобождения его ресурсов, если таковые имеются.
Параметры — поясняет параметры конструктора, используемые при создании объекта.
Пример — демонстрирует, как создать объект в коде.
Функции-члены — Список функций, принадлежащих классу, часто сгруппированных по назначению.
Описание функций — поясняет каждую функцию-член класса, включая доступные функции, параметры, возвращаемые значения, примечания и примеры.
Не на каждой странице представлены все разделы. Например, на некоторых страницах отсутствуют производные классы, а некоторые функции не имеют параметров или возвращаемых значений.
Общие элементы API C++#
Элемент |
Что это значит |
|---|---|
Сорт |
Тип C++ для устройства или функции, например, |
Объект |
Именованный экземпляр, созданный из класса, например, |
Конструктор |
Код, используемый для создания объекта из класса. |
Функции для участников |
Команда, вызываемая для объекта, например, |
Доступная функция |
Для функции-члена можно использовать одну точную сигнатуру функции. Некоторые функции-члены имеют более одной доступной функции. |
Параметр |
Значение, передаваемое в конструктор или функцию для управления её работой. |
Возвращаемая стоимость |
Значение, возвращаемое функцией, например, |
Базовый словарь C++#
Срок |
Что это значит |
|---|---|
Переменная |
Имя, хранящее значение, например, |
Тип |
Тип данных, которые что-либо хранит, например, |
Нить |
Текст внутри кавычек, например |
инт |
Положительное или отрицательное целое число, например |
двойной |
Числовой тип, который может содержать десятичную дробь, например, |
логическое значение |
Значение, равное либо |
Аргумент |
Значение, передаваемое в функцию-член или при вызове функции, например, |
Конструкторы и объекты#
Перед использованием функций-членов многих классов C++ необходимо наличие объекта. Конструктор показывает, как создать этот объект.
Например, объект устройства можно создать, указав в конструкторе необходимый порт или информацию о конфигурации:
motor Motor1 = motor(PORT1, false);
После создания объекта можно вызывать его функции-члены:
Motor1.spin(forward);
В VEXcode конфигурация устройства часто генерируется автоматически через меню «Устройство». В Visual Studio Code с расширением VEX конструкторы, возможно, потребуется писать вручную.
Выбор подходящей доступной функции#
Некоторые функции-члены имеют более одной доступной функции. Каждая функция использует свой набор параметров, поэтому выберите ту, которая соответствует значениям, необходимым для вашего проекта.
Например, функция трансмиссии может иметь одну версию, использующую текущую скорость, и другую версию, позволяющую проекту выбирать скорость самостоятельно:
void drive(directionType dir);
void drive(directionType dir, double velocity, velocityUnits units);
Обе функции вызывают привод drive, но вторая функция обеспечивает больший контроль, поскольку включает параметры скорости.
Пример ввода функции#
водить машину#
Привод drive перемещает робота вперед или назад бесконечно. Робот будет продолжать движение, пока ему не будет дано другое действие, например, поворот или остановка.
Доступные функции
void drive(directionType dir);
void drive(directionType dir, double velocity, velocityUnits units);
Параметр |
Тип |
Описание |
|---|---|---|
|
|
Направление движения робота: |
|
|
Скорость вращения от 0% до 100% при использовании |
|
|
Единица измерения скорости: |
Возвращаемая стоимость
Эта функция не возвращает значения.
Примечания
driveне ожидает. Проект немедленно выполнит следующую строку кода.Робот будет продолжать движение до тех пор, пока не будет вызвана команда
stopили не запустится другая функция перемещения трансмиссии.isDoneиisMovingне используются сdrive, потому что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++ организованы по устройствам или темам. Например, команды для устройств Drivetrain, Motion, Brain, Controller, Smart Port, Inertial Sensor, Console и Logic сгруппированы в отдельные подразделы.