C++#

Referensi API VEX V5 C++ menjelaskan kelas, objek, konstruktor, fungsi anggota, dan variabel yang digunakan dalam proyek VEXcode V5 C++.

Gunakan referensi ini ketika Anda ingin memahami bagaimana suatu perangkat atau fitur dibuat, memeriksa tanda tangan fungsi mana yang harus digunakan, atau membandingkan fungsi anggota terkait dalam suatu kelas.

Perintah C++ digunakan dalam proyek C++ VEXcode V5. Informasi API C++ juga dapat mendukung proyek yang ditulis di Visual Studio Code dengan Ekstensi VEX Visual Studio Code.

Cara Membaca Halaman Kelas C++#

Halaman kelas C++ biasanya mengikuti urutan ini:

  1. Pendahuluan - Menjelaskan apa yang diwakili oleh kelas ini dan kapan kelas ini berguna.

  2. Kelas Turunan - Mencantumkan kelas-kelas yang didasarkan pada kelas ini, jika ada.

  3. Konstruktor Kelas - Menunjukkan sintaks yang digunakan untuk membuat objek dari kelas.

  4. Destructor Kelas - Menunjukkan sintaks yang digunakan untuk menghancurkan objek dan melepaskan sumber dayanya, jika berlaku.

  5. Parameter - Menjelaskan parameter konstruktor yang digunakan saat membuat objek.

  6. Contoh - Menunjukkan cara membuat objek dalam kode.

  7. Fungsi Anggota - Mencantumkan fungsi-fungsi yang dimiliki oleh kelas, seringkali dikelompokkan berdasarkan tujuannya.

  8. Entri Fungsi - Menjelaskan setiap fungsi anggota, termasuk fungsi yang tersedia, parameter, nilai kembalian, catatan, dan contoh.

Tidak setiap halaman memiliki setiap bagian. Misalnya, beberapa halaman tidak menyertakan kelas turunan, dan beberapa fungsi tidak memiliki parameter atau nilai kembalian.

Elemen API C++ Umum#

Elemen

Apa artinya

Kelas

Tipe C++ untuk suatu perangkat atau fitur, seperti motor atau drivetrain.

Obyek

Instance bernama yang dibuat dari sebuah kelas, seperti motor Motor1 atau drivetrain myDrivetrain.

Konstruktor

Kode yang digunakan untuk membuat objek dari suatu kelas.

Fungsi Anggota

Perintah yang dipanggil pada suatu objek, seperti myDrivetrain.drive(…).

Fungsi yang Tersedia

Satu tanda tangan fungsi yang tepat yang dapat digunakan untuk fungsi anggota. Beberapa fungsi anggota memiliki lebih dari satu fungsi yang tersedia.

Parameter

Nilai yang diteruskan ke konstruktor atau fungsi untuk mengontrol apa yang dilakukannya.

Nilai Kembalian

Nilai yang dikembalikan oleh suatu fungsi, seperti bool, int32_t, atau double.

Kosakata Dasar C++#

Ketentuan

Apa artinya

Variabel

Nama yang menyimpan nilai, seperti int speed = 50;.

Jenis

Jenis data yang disimpan oleh sesuatu, seperti int, double, atau bool.

Rangkaian

Teks di dalam tanda kutip, seperti “Hello”.

int

Jenis bilangan bulat positif atau negatif, seperti 90.

dobel

Tipe angka yang dapat mencakup desimal, seperti 25.5.

bool

Nilai yang berupa true atau false.

Argumen

Nilai yang diteruskan ke fungsi anggota atau panggilan fungsi, seperti forward in myDrivetrain.drive(forward).

Konstruktor dan Objek#

Sebelum menggunakan fungsi anggota dari banyak kelas C++, sebuah objek harus ada terlebih dahulu. Konstruktor menunjukkan cara membuat objek tersebut.

Sebagai contoh, objek motor dapat dibuat dengan memberikan informasi port atau konfigurasi yang dibutuhkan kepada konstruktor:

motor Motor1 = motor(PORT1, false);

Setelah objek dibuat, fungsi anggotanya dapat dipanggil:

Motor1.spin(forward);

Di VEXcode, konfigurasi perangkat sering kali dihasilkan secara otomatis oleh Menu Perangkat. Di Visual Studio Code dengan ekstensi VEX, konstruktor mungkin perlu ditulis secara manual.

Memilih Fungsi yang Tersedia dengan Tepat#

Beberapa fungsi anggota memiliki lebih dari satu fungsi yang tersedia. Setiap fungsi menggunakan serangkaian parameter yang berbeda, jadi pilihlah fungsi yang sesuai dengan nilai yang perlu disediakan oleh proyek Anda.

Sebagai contoh, sebuah fungsi penggerak mungkin memiliki satu versi yang menggunakan kecepatan saat ini dan versi lain yang memungkinkan proyek untuk memilih kecepatan:

void drive(directionType dir);

void drive(directionType dir, double velocity, velocityUnits units);

Kedua fungsi tersebut memanggil drive, tetapi fungsi kedua memberikan kontrol lebih karena menyertakan parameter kecepatan.

Contoh Entri Fungsi#

menyetir#

drive menggerakkan robot maju atau mundur tanpa batas. Robot akan terus bergerak hingga diberi tindakan lain, seperti berbelok atau berhenti. Untuk RPM atau DPS, batasnya diubah oleh rasio gigi dari sistem penggerak.

Fungsi yang Tersedia

void drive(directionType dir);

void drive(directionType dir, double velocity, velocityUnits units);

Parameter

Jenis

Keterangan

dir

directionType

Arah pergerakan robot: forward atau reverse.

velocity

double

Kecepatan penggerak berkisar dari 0% hingga 100% saat menggunakan velocityUnits::pct, dari 0 hingga 600 rpm saat menggunakan rpm, atau dari 0 hingga 3600 derajat per detik saat menggunakan dpsJika tidak ada kecepatan yang diberikan, robot akan bergerak dengan kecepatan penggerak saat ini.

units

velocityUnits

Satuan kecepatan: velocityUnits::pct (persen), rpm (putaran per menit), atau dps (derajat per detik).

Nilai Kembalian

Fungsi ini tidak mengembalikan nilai.

Catatan

  • drive tidak menunggu; proyek akan terus mengeksekusi baris kode berikutnya segera setelah panggilan.

  • Sistem penggerak akan terus bergerak hingga perintah stop dipanggil atau fungsi pergerakan sistem penggerak lainnya dijalankan.

  • Fungsi-fungsi seperti isDone dan isMoving tidak berlaku untuk drive, karena tidak menggunakan pergerakan berbasis target.

Contoh

// Drive forward and back
myDrivetrain.drive(forward);
wait(2, seconds);
myDrivetrain.drive(reverse, 25, rpm);
wait(2, seconds);
myDrivetrain.stop();

Perilaku Menunggu dan Tidak Menunggu#

Beberapa fungsi perpindahan dalam C++ menunggu hingga suatu tindakan selesai sebelum proyek beralih ke baris kode berikutnya. Fungsi lain memulai suatu tindakan dan memungkinkan baris berikutnya untuk dijalankan segera.

  • Menunggu - Proyek menunggu hingga fungsi selesai.

  • Tanpa Menunggu - Proyek memulai fungsi dan langsung melanjutkan ke baris berikutnya.

Beberapa fungsi menyertakan parameter seperti waitForCompletion untuk memilih perilaku ini. Untuk fungsi-fungsi tersebut, true biasanya membuat proyek menunggu, sedangkan false memungkinkan baris berikutnya berjalan segera.

Perintah dalam Subbagian#

Perintah C++ diorganisir berdasarkan perangkat atau topik. Misalnya, perintah untuk Drivetrain, Motor, Controller, Brain, perangkat Smart Port, perangkat 3-Wire, Console, Logic, dan VEXlink dikelompokkan ke dalam subbagiannya masing-masing.