C++#
VEX EXP C++ API uzziņa skaidro klases, objektus, konstruktorus, dalībfunkcijas un mainīgos, kas tiek izmantoti VEXcode EXP C++ projektos.
Izmantojiet šo atsauci, ja vēlaties saprast, kā tiek izveidota ierīce vai funkcija, pārbaudīt, kuru funkcijas parakstu izmantot, vai salīdzināt saistītās dalībfunkcijas klasē.
C++ komandas tiek izmantotas VEXcode EXP C++ projektos. C++ API informācija var atbalstīt arī projektus, kas rakstīti Visual Studio kodā ar VEX Visual Studio koda paplašinājumu.
Kā lasīt C++ klases lapu#
C++ klases lapa parasti tiek veidota šādā secībā:
Ievads — paskaidro, ko klase pārstāv un kad tā ir noderīga.
Atvasinātās klases — Uzskaita visas klases, kas ir balstītas uz šo klasi, ja tādas ir.
Klases konstruktors vai konstruktori — parāda sintaksi, kas tiek izmantota objekta izveidei no klases.
Klases iznīcinātājs — Parāda sintaksi, kas tiek izmantota objekta iznīcināšanai un tā resursu atbrīvošanai, ja piemērojams.
Parametri — Izskaidro konstruktora parametrus, kas tiek izmantoti objekta izveides laikā.
Piemērs — parāda, kā kodā izveidot objektu.
Dalībnieku funkcijas — Uzskaita klases funkcijas, kas bieži vien ir grupētas pēc mērķa.
Funkciju ieraksti — Izskaidro katru dalībfunkciju, tostarp pieejamās funkcijas, parametrus, atgriešanas vērtības, piezīmes un piemērus.
Ne katrā lapā ir visas sadaļas. Piemēram, dažās lapās nav iekļautas atvasinātas klases, un dažām funkcijām nav parametru vai atgriešanas vērtību.
Bieži sastopamie C++ API elementi#
Elements |
Ko tas nozīmē |
|---|---|
Klase |
C++ tips ierīcei vai funkcijai, piemēram, |
Objekts |
Nosaukta instance, kas izveidota no klases, piemēram, |
Konstruktors |
Kods, ko izmanto objekta izveidei no klases. |
Biedra funkcija |
Objektam izsaukta komanda, piemēram, |
Pieejamās funkcijas |
Viens precīzs funkcijas paraksts, ko var izmantot dalībfunkcijai. Dažām dalībfunkcijām ir pieejama vairāk nekā viena funkcija. |
Parametrs |
Vērtība, kas tiek nodota konstruktoram vai funkcijai, lai kontrolētu tā darbību. |
Atgriešanas vērtība |
Vērtība, ko funkcija atdod atpakaļ, piemēram, |
C++ pamata vārdu krājums#
Termiņš |
Ko tas nozīmē |
|---|---|
Mainīgais |
Nosaukums, kurā tiek glabāta vērtība, piemēram, |
Tips |
Datu veids, ko kaut kas uzglabā, piemēram, |
Virkne |
Teksts pēdiņās, piemēram |
int |
Pozitīva vai negatīva vesela skaitļa tips, piemēram, |
dubultā |
Skaitļa tips, kas var ietvert decimālzīmi, piemēram, |
būla |
Vērtība, kas ir vai nu |
Arguments |
Vērtība, kas nodota dalībfunkcijai vai funkcijas izsaukumam, piemēram, |
Konstruktori un objekti#
Pirms daudzu C++ klašu dalībfunkciju izmantošanas ir jābūt objektam. Konstruktors parāda, kā izveidot šo objektu.
Piemēram, motora objektu var izveidot, norādot konstruktoram nepieciešamo porta vai konfigurācijas informāciju:
motor Motor1 = motor(PORT1, false);
Pēc objekta izveides var izsaukt tā dalībfunkcijas:
Motor1.spin(forward);
VEXcode valodā ierīces konfigurāciju bieži ģenerē automātiski, izmantojot ierīču izvēlni. Visual Studio Code ar VEX paplašinājumu konstruktori, iespējams, būs jāraksta manuāli.
Pareizās pieejamās funkcijas izvēle#
Dažām dalībfunkcijām ir pieejama vairāk nekā viena funkcija. Katra funkcija izmanto atšķirīgu parametru kopu, tāpēc izvēlieties to, kas atbilst vērtībām, kuras jūsu projektam ir jānodrošina.
Piemēram, piedziņas funkcijai var būt viena versija, kas izmanto pašreizējo ātrumu, un otra versija, kas ļauj projektam izvēlēties ātrumu:
void drive(directionType dir);
void drive(directionType dir, double velocity, velocityUnits units);
Abas funkcijas izsauc drive, bet otrā funkcija sniedz plašāku kontroli, jo tā ietver ātruma parametrus.
Funkcijas ieraksta piemērs#
braukt#
drive pārvieto robotu uz priekšu vai atpakaļ bezgalīgi. Robots turpinās kustēties, līdz tam tiks dota cita darbība, piemēram, pagriešana vai apstāšanās. RPM vai DPS ierobežojums tiek mainīts ar piedziņas mehānisma pārnesumskaitli.
Pieejamās funkcijas
void drive(directionType dir);
void drive(directionType dir, double velocity, velocityUnits units);
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
Robota kustības virziens: |
|
|
Braukšanas ātrums no 0% līdz 100%, izmantojot |
|
|
Ātruma mērvienība: |
Atgriešanas vērtība
Šī funkcija neatgriež vērtību.
Piezīmes
drivedisks negaida; projekts turpinās izpildīt nākamo koda rindiņu tūlīt pēc izsaukuma.Piedziņa turpinās kustēties, līdz tiks izsaukta
stopvai tiks izpildīta cita piedziņas kustības funkcija.Tādas funkcijas kā
isDoneunisMovingnav piemērojamas funkcijaidrive, jo tā neizmanto uz mērķi balstītu kustību.
Piemērs
// Drive forward and back
myDrivetrain.drive(forward);
wait(2, seconds);
myDrivetrain.drive(reverse, 25, rpm);
wait(2, seconds);
myDrivetrain.stop();
Gaidīšanas un negaidīšanas uzvedība#
Dažas C++ pārvietošanas funkcijas gaida, līdz darbība ir pabeigta, pirms projekts pāriet uz nākamo koda rindiņu. Citas funkcijas sāk darbību un ļauj nākamajai rindai darboties nekavējoties.
Gaida — Projekts gaida, līdz funkcija pabeidz darbu.
Bez gaidīšanas — Projekts sāk funkciju un nekavējoties turpina darbu ar nākamo rindu.
Dažas funkcijas ietver parametru, piemēram, waitForCompletion lai izvēlētos šo darbību. Šīm funkcijām true parasti liek projektam gaidīt, savukārt false ļauj nākamajai rindai darboties nekavējoties.
Komandas apakšsadaļās#
C++ komandas ir sakārtotas pēc ierīces vai tēmas. Piemēram, komandas piedziņai, kustībai, smadzenēm, kontrolierim, viedportu ierīcēm, 3 vadu ierīcēm, konsolei, loģikai un VEXlink ir sagrupētas atsevišķās apakšsadaļās.