C++#
W dokumencie VEX EXP C++ API Reference wyjaśniono klasy, obiekty, konstruktory, funkcje członkowskie i zmienne używane w projektach VEXcode EXP C++.
Skorzystaj z tego odniesienia, jeśli chcesz zrozumieć, jak tworzone jest urządzenie lub funkcja, sprawdzić, którego podpisu funkcji użyć lub porównać powiązane funkcje członkowskie w klasie.
Polecenia C++ są używane w projektach VEXcode EXP C++. Informacje API C++ mogą również obsługiwać projekty napisane w programie Visual Studio Code z rozszerzeniem VEX Visual Studio Code.
Jak czytać stronę klasy C++#
Strona klasy C++ zwykle ma następującą kolejność:
Wprowadzenie – wyjaśnia, co klasa reprezentuje i kiedy jest przydatna.
Klasy pochodne – wyświetla wszystkie klasy bazujące na tej klasie, jeśli ma to zastosowanie.
Konstruktor klasy lub konstruktory – Pokazuje składnię używaną do tworzenia obiektu z klasy.
Destruktor klas – Pokazuje składnię używaną do niszczenia obiektu i zwalniania jego zasobów, jeśli ma to zastosowanie.
Parametry – objaśnia parametry konstruktora używane podczas tworzenia obiektu.
Przykład – pokazuje, jak utworzyć obiekt w kodzie.
Funkcje członkowskie – wyświetla listę funkcji należących do klasy, często pogrupowanych według celu.
Wpisy funkcji – objaśnia każdą funkcję członkowską, w tym dostępne funkcje, parametry, wartości zwracane, uwagi i przykłady.
Nie każda strona zawiera wszystkie sekcje. Na przykład niektóre strony nie zawierają klas pochodnych, a niektóre funkcje nie mają parametrów ani wartości zwracanych.
Wspólne elementy API C++#
Element |
Co to znaczy |
|---|---|
Klasa |
Typ C++ dla urządzenia lub funkcji, taki jak |
Obiekt |
Nazwana instancja utworzona z klasy, np. |
Konstruktor |
Kod używany do tworzenia obiektu z klasy. |
Funkcja członkowska |
Polecenie wywoływane na obiekcie, takie jak |
Dostępna funkcja |
Jedna konkretna sygnatura funkcji, której można użyć dla funkcji składowej. Niektóre funkcje składowe mają więcej niż jedną dostępną funkcję. |
Parametr |
Wartość przekazywana do konstruktora lub funkcji w celu kontrolowania jej działania. |
Wartość zwracana |
Wartość zwracana przez funkcję, np. |
Podstawowe słownictwo C++#
Termin |
Co to znaczy |
|---|---|
Zmienny |
Nazwa przechowująca wartość, np. |
Typ |
Rodzaj przechowywanych danych, np. |
Smyczkowy |
Tekst w cudzysłowie, np. |
int |
Liczba całkowita dodatnia lub ujemna, np |
podwójnie |
Typ liczby, który może zawierać cyfrę dziesiętną, np. |
bool |
Wartość, która może wynosić |
Argument |
Wartość przekazana do funkcji członkowskiej lub wywołania funkcji, taka jak |
Konstruktory i obiekty#
Aby użyć funkcji składowych z wielu klas C++, obiekt musi istnieć. Konstruktor pokazuje, jak utworzyć ten obiekt.
Na przykład obiekt silnika można utworzyć, podając konstruktorowi potrzebne mu informacje o porcie lub konfiguracji:
motor Motor1 = motor(PORT1, false);
Po utworzeniu obiektu można wywołać jego funkcje członkowskie:
Motor1.spin(forward);
W VEXcode konfiguracja urządzenia jest często generowana automatycznie przez menu urządzenia. W Visual Studio Code z rozszerzeniem VEX konstruktory mogą wymagać ręcznego pisania.
Wybór odpowiedniej dostępnej funkcji#
Niektóre funkcje członkowskie mają więcej niż jedną dostępną funkcję. Każda funkcja używa innego zestawu parametrów, dlatego wybierz tę, która odpowiada wartościom, jakie musi dostarczyć Twój projekt.
Na przykład funkcja układu napędowego może mieć jedną wersję wykorzystującą aktualną prędkość i inną wersję umożliwiającą projektowi wybór prędkości:
void drive(directionType dir);
void drive(directionType dir, double velocity, velocityUnits units);
Obie funkcje wywołują drive, ale druga funkcja daje większą kontrolę, ponieważ obejmuje parametry prędkości.
Przykładowy wpis funkcji#
prowadzić#
Napęd drive porusza robota do przodu lub do tyłu w nieskończoność. Robot będzie się poruszał, dopóki nie zostanie mu przydzielona inna czynność, taka jak obrót lub zatrzymanie. W przypadku obrotów na minutę lub DPS limit jest zmieniany przez przełożenie układu napędowego.
Dostępne funkcje
void drive(directionType dir);
void drive(directionType dir, double velocity, velocityUnits units);
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Kierunek ruchu robota: |
|
|
Prędkość jazdy może mieścić się w zakresie od 0% do 100% przy użyciu wartości |
|
|
Jednostka prędkości: |
Wartość zwracana
Ta funkcja nie zwraca wartości.
Notatki
Dysk
drivenie jest dyskiem oczekującym; projekt będzie kontynuował wykonywanie następnego wiersza kodu bezpośrednio po wywołaniu.Układ napędowy będzie się poruszał do momentu wywołania funkcji
stoplub wykonania innej funkcji ruchu układu napędowego.Funkcje takie jak
isDoneiisMovingnie są dostępne dladrive, ponieważ nie wykorzystuje ona ruchu opartego na celu.
Przykład
// Drive forward and back
myDrivetrain.drive(forward);
wait(2, seconds);
myDrivetrain.drive(reverse, 25, rpm);
wait(2, seconds);
myDrivetrain.stop();
Zachowanie oczekujące i nieczekające#
Niektóre funkcje ruchu w C++ czekają na zakończenie akcji, zanim projekt przejdzie do następnej linii kodu. Inne funkcje rozpoczynają akcję i pozwalają na natychmiastowe wykonanie kolejnej linii kodu.
Oczekiwanie – projekt czeka, aż funkcja się zakończy.
Bez oczekiwania - projekt uruchamia funkcję i natychmiast przechodzi do następnego wiersza.
Niektóre funkcje zawierają parametr, taki jak waitForCompletion , aby wybrać to zachowanie. W przypadku tych funkcji wartość true zazwyczaj powoduje oczekiwanie projektu, a false pozwala na natychmiastowe uruchomienie kolejnego wiersza.
Polecenia w podsekcjach#
Polecenia C++ są uporządkowane według urządzenia lub tematu. Na przykład polecenia dla układów napędowych, ruchu, mózgu, kontrolera, urządzeń Smart Port, urządzeń 3-Wire, konsoli, logiki i łącza VEX są pogrupowane w osobne podsekcje.