C++

Fungsi C++ Kelebihan Beban

Fungsi C++ Kelebihan Beban

C++ adalah bahasa pemrograman serba guna yang fleksibel. Bahasa pemrograman ini awalnya dibuat oleh Bjarne Stroustrup, seorang ilmuwan komputer Denmark, pada tahun 1985. C++ mendukung polimorfisme, pewarisan, dan banyak lagi. Artikel ini membahas kelebihan fungsi untuk mencapai polimorfisme waktu kompilasi dalam bahasa pemrograman C++++.

Apa itu Fungsi??

Fungsi tidak lebih dari sepotong kode tertentu yang melakukan tugas tertentu berdasarkan input yang diberikan, dan mengembalikan hasil yang diminta kepada pengguna dalam bentuk output. Fungsi digunakan untuk menghilangkan kode berulang dalam basis kode besar.

Setelah mendefinisikan suatu fungsi, Anda dapat menggunakannya kembali di lain waktu, baik dalam program yang sama atau dalam program yang berbeda.

Sintaks Fungsi

Fungsi dalam C++ memiliki sintaks berikut:

returnType functionName(daftar_parameter)



kembalikan nilai_pengembalian;

ReturnType, parameter_list, dan pernyataan return adalah opsional. Fungsi dalam C++ dapat mengembalikan maksimal satu nilai. Jika suatu fungsi tidak mengembalikan nilai apa pun, returnType harus didefinisikan sebagai void.

Apa itu Fungsi Overloading?

Dalam C++, beberapa definisi fungsi dapat memiliki nama fungsi yang sama, tetapi dengan parameter yang berbeda. Ini disebut fungsi overloading. Dengan bantuan fitur kelebihan fungsi, polimorfisme waktu kompilasi dapat dicapai dalam C++.

Fungsi dapat kelebihan beban dengan cara berikut:

  1. Jumlah parameter bisa berbeda
  2. Tipe data parameter bisa berbeda
  3. Urutan parameternya bisa berbeda

Namun, nilai pengembalian tidak dipertimbangkan untuk fungsi overloading. 

Fungsi berikut kelebihan beban:

  1. int tambahan (int a, int b)
  2. penambahan float (float f, gloat g)
  3. penambahan float (float f, int i)
  4. penambahan float (int i, float f)
  5. int tambahan (int a, int b, int c)
  6. penambahan float (float f, float g, float h)

Seperti yang Anda lihat, dengan bantuan fitur overloading fungsi di C++, mungkin ada beberapa definisi/fungsi dengan nama fungsi yang sama dan dalam lingkup yang sama.

Tanpa fitur overloading fungsi, Anda perlu menulis fungsi terpisah [misalnya, penambahan_1(), penambahan_2() dll] untuk setiap variasi. Misalnya, Anda mungkin harus menulis penambahan_1() untuk menambahkan dua bilangan bulat, penambahan_2() untuk menambahkan dua pelampung, dan seterusnya. Namun, seperti yang Anda lihat di atas, fitur overloading fungsi dapat digunakan untuk menentukan beberapa variasi fungsi "penambahan ()" sambil tetap mempertahankan nama fungsi yang sama.

Fungsi berikut tidak dianggap kelebihan beban karena satu-satunya perbedaan antara keduanya adalah tipe pengembalian (tipe pengembalian tidak dipertimbangkan untuk fungsi kelebihan beban di C++):

  1. int tambahan (int a, int b)
  2. penambahan float (int a, int b)

Contoh

Sekarang setelah Anda memahami konsep fungsi overloading, kita akan melalui beberapa contoh program kerja untuk memahami konsep ini dengan lebih jelas. Kami akan membahas contoh-contoh berikut:

  1. Contoh 1: Fungsi Sederhana
  2. Contoh 2: Fungsi Penambahan Sederhana
  3. Contoh 3: Fungsi Kelebihan (1)
  4. Contoh 4: Fungsi Kelebihan (2)
  5. Contoh 5: Fungsi Kelebihan (3)

Dua contoh pertama menjelaskan bagaimana fungsi normal bekerja di C++, sedangkan tiga contoh terakhir menunjukkan fitur fungsi overloading di C++.

Contoh 1: Fungsi Sederhana

Dalam contoh ini, kami akan mendemonstrasikan bagaimana fungsi sederhana dapat didefinisikan dan dipanggil dalam C++. Kami akan mendefinisikan kelas yang disebut "Display" dan fungsi publik yang disebut "display().” Dari fungsi “main()”, kita akan memanggil fungsi “display()” dengan bantuan objek kelas “Display” (d).

#termasuk
menggunakan namespace std;
Tampilan kelas

publik:
tampilan kosong()

cout << "Hello World!" << endl;

;
int utama()

Tampilan d;
d.tampilan();
kembali 0;

Contoh 2: Fungsi Penambahan Sederhana

Dalam contoh ini, kami akan mendemonstrasikan cara mendefinisikan fungsi “penambahan()” sederhana di C++. Kami akan mendefinisikan kelas yang disebut "DemoAdd" dan fungsi publik yang disebut "penambahan ().” Dari fungsi “main()”, kita akan memanggil fungsi “tambahan()” dengan bantuan objek kelas “DemoAdd” (d).

Dalam contoh ini, implementasi fungsi "penambahan()" saat ini hanya menerima dua parameter bilangan bulat. Itu berarti bahwa fungsi "penambahan ()" saat ini hanya mampu menambahkan dua bilangan bulat.

Untuk menambahkan tiga bilangan bulat, bukan dua, fungsi dengan nama yang berbeda, seperti “penambahan_1(),” dapat didefinisikan. Dalam C++, suatu fungsi dapat kelebihan beban, artinya definisi lain dari fungsi "penambahan ()" dapat didefinisikan untuk menambahkan tiga bilangan bulat dan mempertahankan nama yang sama, mis.e., "tambahan().” Pada contoh berikutnya, kita akan melihat cara membebani fungsi “penambahan ()”.

#termasuk
menggunakan namespace std;
Demo kelasTambahkan

publik:
int tambahan(int a, int b)

int hasil;
hasil = a + b;
kembali hasil;

;
int utama()

DemoTambahkan d;
int i1 = 10, i2 = 20, res;
res = d.tambahan(i1, i2);
cout << "Result = " << res << endl;
kembali 0;

Contoh 3: Fungsi Kelebihan (1)

Pada contoh sebelumnya, kami mendefinisikan fungsi "penambahan ()" untuk menambahkan dua bilangan bulat dan mengembalikan hasil yang dihitung. Sekarang, dalam contoh ini, kita akan membebani fungsi "penambahan ()" untuk menambahkan tiga bilangan bulat. Jadi, kita akan dapat memanggil fungsi “penambahan()” dengan dua argumen integer, serta tiga argumen integer.

Tanpa fitur overloading fungsi, kita harus menulis fungsi lain dengan nama yang berbeda.

#termasuk
menggunakan namespace std;
Demo kelasTambahkan

publik:
// Definisi fungsi pertama dari penjumlahan()
int tambahan(int a, int b)

int hasil;
hasil = a + b;
kembali hasil;

// Versi kelebihan dari fungsi tambahan ()
int tambahan(int a, int b, int c)

int hasil;
hasil = a + b + c;
kembali hasil;

;
int utama()

DemoTambahkan d;
int i1 = 10, i2 = 20, i3 = 30, res1, res2;
res1 = d.tambahan(i1, i2); // tambahan() dengan 2 parameter
res2 = d.tambahan(i1, i2, i3); // tambahan() dengan 3 parameter
cout << "Result = " << res1 << endl;
cout << "Result = " << res2 << endl;
kembali 0;

Contoh 4: Fungsi Kelebihan (2)

Di bagian sebelumnya dari artikel ini, Anda mempelajari bahwa fungsi overloading dapat dilakukan berdasarkan perbedaan tipe parameter parameter. Di sini, kami telah membebani fungsi "penambahan ()" berdasarkan tipe data parameter. Pada versi pertama dari fungsi penambahan, kita akan menambahkan dua variabel tipe integer; dan di versi kedua, kami akan menambahkan dua variabel tipe float.

#termasuk
menggunakan namespace std;
Demo kelasTambahkan

publik:
// Definisi pertama dari penjumlahan()
int tambahan(int a, int b)

int hasil;
hasil = a + b;
kembali hasil;

// Definisi fungsi kelebihan beban
penambahan float (float f, float g)

hasil mengambang;
hasil = f + g;
kembali hasil;

;
int utama()

DemoTambahkan d;
int i1 = 10, i2 = 20, res1;
mengapung f1 = 10.5, f2 = 20.7, res2;
res1 = d.tambahan(i1, i2); // penambahan(int a, int b) akan dipanggil
res2 = d.tambahan(f1, f2); // penambahan(float f, flat g) akan dipanggil
cout << "Result = " << res1 << endl;
cout << "Result = " << res2 << endl;
kembali 0;

Contoh 5: Fungsi Kelebihan (3)

Dalam contoh ini, fungsi "penambahan ()" kelebihan beban berdasarkan perbedaan urutan daftar parameter parameter. Ini adalah cara lain untuk membebani fungsi di C++.

#termasuk
menggunakan namespace std;
Demo kelasTambahkan

publik:
// Definisi fungsi pertama dari fungsi tambahan()
penambahan float(int a, float b)

hasil mengambang;
hasil = (mengambang)a + b;
kembali hasil;

// Definisi fungsi yang kelebihan beban dari fungsi tambahan ()
penambahan float(float a, int b)

hasil mengambang;
hasil = a + (mengambang)b;
kembali hasil;

;
int utama()

DemoTambahkan d;
int i1 = 10;
mengapung f1 = 10.5, res1, res2;
res1 = d.tambahan(i1, f1); // penambahan(int a, float b) akan dipanggil
res2 = d.tambahan(f1, i1); // penambahan(float a, int b) akan dipanggil
cout << "Result = " << res1 << endl;
cout << "Result = " << res2 << endl;
kembali 0;

Kesimpulan

C++ adalah bahasa pemrograman serba guna dan fleksibel yang banyak digunakan di berbagai domain. Bahasa pemrograman ini mendukung polimorfisme waktu kompilasi dan run-time. Dalam artikel ini, Anda mempelajari cara mencapai polimorfisme waktu kompilasi di C++ menggunakan fitur fungsi overloading. Ini adalah fitur yang sangat membantu dalam C++ yang membantu programmer untuk menulis kode yang dapat dibaca. Ini juga dapat membantu untuk menulis kode yang dapat digunakan kembali.

Kontrol & kelola gerakan mouse di antara beberapa monitor di Windows 10
Manajer Mouse Tampilan Ganda memungkinkan Anda mengontrol & mengonfigurasi gerakan mouse di antara beberapa monitor, dengan memperlambat gerakannya di...
WinMouse memungkinkan Anda menyesuaikan & meningkatkan gerakan penunjuk tetikus di PC Windows
Jika Anda ingin meningkatkan fungsi default penunjuk tetikus Anda, gunakan freeware WinMouse. Ini menambahkan lebih banyak fitur untuk membantu Anda m...
Tombol klik kiri mouse tidak berfungsi pada Windows 10
Jika Anda menggunakan mouse khusus dengan laptop, atau komputer desktop, tetapi but tombol klik kiri mouse tidak berfungsi pada Windows 10/8/7 untuk b...