C++#
VEX IQ(2세대) C++ API 참조서는 VEXcode IQ C++ 프로젝트에서 사용되는 클래스, 객체, 생성자, 멤버 함수 및 변수에 대해 설명합니다.
이 참조 자료는 장치 또는 기능이 어떻게 생성되는지 이해하거나, 어떤 함수 시그니처를 사용해야 하는지 확인하거나, 클래스 내의 관련 멤버 함수를 비교하려는 경우에 사용하십시오.
VEXcode IQ C++ 프로젝트에서는 C++ 명령어가 사용됩니다. C++ API 정보는 VEX Visual Studio Code 확장 프로그램을 사용하여 Visual Studio Code로 작성된 프로젝트에서도 활용될 수 있습니다.
C++ 클래스 페이지를 읽는 방법#
C++ 클래스 페이지는 일반적으로 다음과 같은 순서를 따릅니다.
소개 - 이 클래스가 무엇을 나타내는지, 그리고 언제 유용한지 설명합니다.
파생 클래스 - 이 클래스를 기반으로 하는 클래스가 있는 경우 해당 클래스 목록을 표시합니다.
클래스 생성자 또는 생성자들 - 클래스로부터 객체를 생성하는 데 사용되는 구문을 보여줍니다.
클래스 소멸자 - 객체를 파괴하고 필요한 경우 해당 객체의 리소스를 해제하는 데 사용되는 구문을 보여줍니다.
매개변수 - 객체를 생성할 때 사용되는 생성자 매개변수에 대해 설명합니다.
예시 - 코드로 객체를 생성하는 방법을 보여줍니다.
멤버 함수 - 클래스에 속하는 함수들을 나열하며, 종종 용도별로 그룹화됩니다.
함수 항목 - 각 멤버 함수에 대한 설명으로, 사용 가능한 함수, 매개변수, 반환 값, 참고 사항 및 예제를 포함합니다.
모든 페이지에 모든 섹션이 포함되어 있는 것은 아닙니다. 예를 들어, 일부 페이지에는 파생 클래스가 포함되어 있지 않고, 일부 함수에는 매개변수나 반환 값이 없습니다.
일반적인 C++ API 요소#
요소 |
그것이 의미하는 바는 |
|---|---|
수업 |
|
물체 |
클래스에서 생성된 명명된 인스턴스(예: |
건설자 |
클래스로부터 객체를 생성하는 데 사용되는 코드입니다. |
회원 기능 |
객체에 대해 호출되는 명령(예: |
사용 가능한 기능 |
멤버 함수에 사용할 수 있는 정확한 함수 시그니처 하나입니다. 일부 멤버 함수는 사용 가능한 함수가 둘 이상 있을 수 있습니다. |
매개변수 |
생성자나 함수에 전달되는 값으로, 해당 함수의 동작을 제어합니다. |
반환 값 |
함수가 반환하는 값(예: |
기초 C++ 용어#
용어 |
그것이 의미하는 바는 |
|---|---|
변하기 쉬운 |
|
유형 |
어떤 것이 저장하는 데이터의 종류는 |
끈 |
따옴표 안의 텍스트, 예: |
int |
|
더블 |
|
불 |
|
논쟁 |
멤버 함수 또는 함수 호출에 전달되는 값(예: |
생성자와 객체#
많은 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);
매개변수 |
유형 |
설명 |
|---|---|---|
|
|
로봇의 이동 방향: |
|
|
|
|
|
속도 단위: |
반환 값
이 함수는 값을 반환하지 않습니다.
참고 사항
drive대기 모드가 아닙니다. 프로젝트는 다음 코드 줄을 즉시 실행합니다.로봇은
stop명령이 호출되거나 다른 구동계 이동 기능이 실행될 때까지 계속 움직입니다.isDone이동,isMovingdrive와 함께 사용되지 않습니다. 왜냐하면drive목표 거리가 없기 때문입니다.
예
// 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++ 명령어는 장치 또는 주제별로 정리되어 있습니다. 예를 들어, 구동계, 모션, 브레인, 컨트롤러, 스마트 포트 장치, 관성 센서, 콘솔 및 로직에 대한 명령어는 각각 별도의 하위 섹션으로 그룹화되어 있습니다.