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

Overloading Fungsi C++: Panduan Praktis

Overloading Fungsi C++

Temukan bagaimana C++ memungkinkan Anda mendefinisikan beberapa fungsi dengan nama yang sama tetapi tanda tangan yang berbeda, diilustrasikan dengan contoh praktis.

Dalam C++, dua fungsi dapat berbagi nama yang sama selama daftar parameternya berbeda dalam tipe, jumlah, atau urutan. Varian-varian ini disebut fungsi yang di-overload.

Contohnya:

// Same name, different arguments int test() { } int test(int a) { } float test(double a) { } int test(int a, double b) { }

Empat deklarasi di atas mewakili himpunan overload yang valid. Perhatikan bahwa tipe pengembalian tidak relevan untuk resolusi overload; hanya daftar parameter yang penting. Contohnya:

// Compilation error: identical signatures int test(int a) { } double test(int b){ }

Di sini, kedua fungsi memiliki nama yang sama, tipe yang sama, dan jumlah argumen yang sama, sehingga kompiler menolak duplikat.


Contoh 1: Overloading dengan Berbagai Tipe Parameter

// Compute absolute value for int and float #include <iostream> using namespace std; // float version float absolute(float var){ return (var < 0.0f) ? -var : var; } // int version int absolute(int var){ return (var < 0) ? -var : var; } int main(){ cout << "Absolute value of -5 = " << absolute(-5) << endl; cout << "Absolute value of 5.5 = " << absolute(5.5f) << endl; return 0; }

Output

Absolute value of -5 = 5 Absolute value of 5.5 = 5.5

Program ini overload absolute(); kompiler memilih versi yang sesuai berdasarkan tipe argumen.


Contoh 2: Overloading dengan Berbagai Jumlah Parameter

#include <iostream> using namespace std; // Two-parameter version void display(int var1, double var2){ cout << "Integer: " << var1; cout << " & Double: " << var2 << endl; } // Single double parameter void display(double var){ cout << "Double: " << var << endl; } // Single int parameter void display(int var){ cout << "Integer: " << var << endl; } int main(){ int a = 5; double b = 5.5; display(a); display(b); display(a, b); return 0; }

Output

Integer: 5 Double: 5.5 Integer: 5 & Double: 5.5

Pemanggilan ke display() diselesaikan ke overload yang benar berdasarkan jumlah dan tipe argumen.


Catatan: Fungsi pustaka standar seperti sqrt() sangat di-overload, menerima int, float, double, dan lebih banyak, memberikan fleksibilitas kepada pengembang.

Bahasa C

  1. Menguasai Overloading Metode dalam C#: Konsep, Contoh, dan Praktik Terbaik
  2. Menguasai Overloading Konstruktor dalam C#
  3. Menguasai Operator C++: Panduan Lengkap dengan Contoh Praktis
  4. Komentar C++: Praktik Terbaik untuk Kode yang Mudah Dibaca dan Dipelihara
  5. Cara Meneruskan Array ke Fungsi dalam C++: Panduan Praktis
  6. Fungsi Teman dan Kelas Teman C++: Menguasai Kontrol Akses
  7. Cara Meneruskan Array 1D dan 2D ke Fungsi dalam C – Panduan Praktis
  8. Pengoverloadan Operator C++ – Panduan Praktis dengan Contoh Kode
  9. Fungsi C++ Dijelaskan dengan Contoh Kode Praktis
  10. Menguasai Fungsi C: Struktur, Deklarasi, dan Praktik Terbaik