C++#
Referensi API C++ VEX IQ (generasi ke-2) menjelaskan kelas, objek, konstruktor, fungsi anggota, dan variabel yang digunakan dalam proyek C++ VEXcode IQ.
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 IQ. 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:
Pendahuluan - Menjelaskan apa yang diwakili oleh kelas ini dan kapan kelas ini berguna.
Kelas Turunan - Mencantumkan kelas-kelas yang didasarkan pada kelas ini, jika ada.
Konstruktor Kelas - Menunjukkan sintaks yang digunakan untuk membuat objek dari kelas.
Destructor Kelas - Menunjukkan sintaks yang digunakan untuk menghancurkan objek dan melepaskan sumber dayanya, jika berlaku.
Parameter - Menjelaskan parameter konstruktor yang digunakan saat membuat objek.
Contoh - Menunjukkan cara membuat objek dalam kode.
Fungsi Anggota - Mencantumkan fungsi-fungsi yang dimiliki oleh kelas, seringkali dikelompokkan berdasarkan tujuannya.
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 |
Obyek |
Instance bernama yang dibuat dari sebuah kelas, seperti |
Konstruktor |
Kode yang digunakan untuk membuat objek dari suatu kelas. |
Fungsi Anggota |
Perintah yang dipanggil pada suatu objek, seperti |
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 |
Kosakata Dasar C++#
Ketentuan |
Apa artinya |
|---|---|
Variabel |
Nama yang menyimpan nilai, seperti |
Jenis |
Jenis data yang disimpan oleh sesuatu, seperti |
Rangkaian |
Teks di dalam tanda kutip, seperti |
int |
Jenis bilangan bulat positif atau negatif, seperti |
dobel |
Tipe angka yang dapat mencakup desimal, seperti |
bool |
Nilai yang berupa |
Argumen |
Nilai yang diteruskan ke fungsi anggota atau panggilan fungsi, seperti |
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 perangkat 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#
Perintah drive menggerakkan robot maju atau mundur tanpa henti. Robot akan terus bergerak hingga diberi perintah lain, seperti berbelok atau berhenti.
Fungsi yang Tersedia
void drive(directionType dir);
void drive(directionType dir, double velocity, velocityUnits units);
Parameter |
Jenis |
Keterangan |
|---|---|---|
|
|
Arah pergerakan robot: |
|
|
Kecepatan penggerak berkisar dari 0% hingga 100% saat menggunakan |
|
|
Satuan kecepatan: |
Nilai Kembalian
Fungsi ini tidak mengembalikan nilai.
Catatan
drivetidak menunggu. Proyek akan menjalankan baris kode berikutnya segera.Robot akan terus bergerak hingga perintah
stopdipanggil atau fungsi pergerakan penggerak lainnya dijalankan.isDonedanisMovingtidak digunakan dengandrivekarenadrivetidak memiliki jarak 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 perangkat Drivetrain, Motion, Brain, Controller, Smart Port, Inertial Sensor, Console, dan Logic dikelompokkan ke dalam subbagiannya masing-masing.