Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> Bahasa C

Pengoverloadan Operator C++ – Panduan Praktis dengan Contoh Kode

Apa Itu Pengoverloadan Operator?

Menggunakan pengoverloadan operator dalam C++, Anda dapat memberikan beberapa makna kepada operator dalam cakupan yang sama. Tujuannya adalah memberikan perilaku kustom kepada operator untuk tipe yang ditentukan pengguna.

Dengan pengoverloadan operator, Anda dapat men-definisi ulang sebagian besar operator C++ dan melakukan operasi berbeda menggunakan satu simbol.

Dalam tutorial ini Anda akan mempelajari:

Sintaks

Untuk overload operator C++, definisikan fungsi anggota khusus di dalam kelas sebagai berikut:

class class_name { ... public: return_type operator symbol (argument(s)) { ... } ... };

Komponennya adalah:

Contoh 1:

#include <iostream> using namespace std; class TestClass { private: int count; public: TestClass() : count(5) {} void operator --() { count = count - 3; } void Display() { cout << "Count: " << count; } }; int main() { TestClass tc; --tc; tc.Display(); return 0; }

Output:

Pengoverloadan Operator C++ – Panduan Praktis dengan Contoh Kode

Berikut adalah screenshot kode:

Pengoverloadan Operator C++ – Panduan Praktis dengan Contoh Kode

Penjelasan Kode:

  1. Sertakan <iostream> untuk mengakses fasilitas input/output.
  2. Gunakan namespace std untuk kesingkatannya.
  3. Definisikan kelas TestClass.
  4. Buat count sebagai anggota data privat.
  5. Berikan konstruktor publik yang menginisialisasi count ke 5.
  6. Overload operator prefix -- untuk mengurangi 3 dari count.
  7. Implementasikan Display() untuk mencetak nilai saat ini.
  8. Di dalam main(), buat instance, terapkan operator yang di-overload, dan tampilkan hasilnya.

Pendekatan Berbeda untuk Pengoverloadan Operator dalam C++

Overloading dapat dicapai melalui:

  1. Fungsi anggota
  2. Fungsi non-anggota (fungsi teman atau bebas)
  3. Fungsi teman (ketika akses ke data privat diperlukan)

Dapatkah Semua Operator C++ Di-overload?

Tidak. Operator berikut tidak dapat di-overload:

Hal yang Perlu Diingat

  1. Overloading hanya mempengaruhi tipe yang ditentukan pengguna; tipe bawaan mempertahankan perilaku aslinya.
  2. Operator penugasan (=) dan alamat (&) secara otomatis di-overload untuk kelas yang menyediakan konstruktor salinan atau operator penugasan.
  3. Precedensi operator tidak berubah; Anda dapat menggunakan kurung untuk memberlakukan urutan evaluasi.
  4. Tiga operator—::, ., ?:—secara eksplisit dilarang di-overload.

Aturan untuk Pengoverloadan Operator

Cara Overload Operator

Contoh 1: Operator Inkremen

#include <iostream> using namespace std; class OperatorOverload { private: int x; public: OperatorOverload() : x(10) {} void operator ++() { x += 2; } void Print() { cout << "The Count is: " << x; } }; int main() { OperatorOverload ov; ++ov; ov.Print(); return 0; }

Output:

Pengoverloadan Operator C++ – Panduan Praktis dengan Contoh Kode

Screenshot kode:

Pengoverloadan Operator C++ – Panduan Praktis dengan Contoh Kode

Penjelasan Kode:

  1. Sertakan <iostream> dan gunakan namespace std.
  2. Definisikan kelas OperatorOverload dengan int x privat.
  3. Konstruktor menginisialisasi x ke 10.
  4. Overload operator prefix ++ untuk menambahkan 2 ke x.
  5. Implementasikan Print() untuk menampilkan nilai yang diperbarui.
  6. Di dalam main(), buat objek, panggil operator yang di-overload, dan cetak hasilnya.

Contoh 2: Penjumlahan Bilangan Kompleks

#include <iostream> using namespace std; class TestClass { private: int real, over; public: TestClass(int rl = 0, int ov = 0) : real(rl), over(ov) {} TestClass operator + (TestClass const &obj) { TestClass result; result.real = real + obj.real; result.over = over + obj.over; return result; } void print() { cout << real << " + i" << over << endl; } }; int main() { TestClass c1(9, 5), c2(4, 3); TestClass c3 = c1 + c2; c3.print(); } 

Output:

Pengoverloadan Operator C++ – Panduan Praktis dengan Contoh Kode

Screenshot kode:

Pengoverloadan Operator C++ – Panduan Praktis dengan Contoh Kode

Penjelasan Kode:

  1. Sertakan <iostream> dan gunakan namespace std.
  2. Definisikan TestClass dengan komponen real dan over.
  3. Berikan konstruktor untuk inisialisasi.
  4. Overload operator + untuk melakukan penjumlahan bilangan kompleks.
  5. Kembalikan instance TestClass baru yang berisi jumlahnya.
  6. Implementasikan print() untuk menampilkan bilangan kompleks.
  7. Di dalam main(), buat dua instance, tambahkan mereka, dan cetak hasilnya.

Ringkasan

Bahasa C

  1. Cara Meneruskan Array ke Fungsi dalam C++: Panduan Praktis
  2. Menguasai Operator Overloading di Python: Panduan Praktis
  3. Operator C++ Dijelaskan: Tipe, Contoh, dan Program Contoh
  4. Perulangan do-while C++: Sintaks, Contoh Praktis, dan Perulangan Bersarang
  5. Menguasai Pointer C++: Konsep, Contoh, dan Aplikasi Praktis
  6. Menguasai Tipe Data Char C++: Deklarasi, ASCII, dan Teknik Konversi
  7. Struct C++ Dijelaskan dengan Contoh Praktis
  8. Menguasai std::list dalam C++: Sintaks, Fungsi & Contoh Praktis
  9. Fungsi C++ Dijelaskan dengan Contoh Kode Praktis
  10. Menguasai Fungsi Lambda Python: Contoh Praktis & Praktik Terbaik