Bagaimana Melaksanakan Fungsi Overloading dan Overriding Dalam C ++?



Artikel ini akan memperkenalkan anda kepada Fungsi Overloading And Overriding In C ++ yang merupakan dua konsep OOPS yang sangat penting.

C ++ ialah di alam semula jadi dan mempunyai pelbagai ciri. Dalam sesi ini kita akan membincangkan bagaimana menerapkan Function Overloading And Function Overriding di C ++.

Petunjuk berikut akan dibahas dalam artikel ini,





Teruskan dengan artikel ini mengenai Fungsi berlebihan dan mengatasi di C ++

Beban Berfungsi



Fungsi yang mempunyai nama yang sama tetapi parameter yang berbeza dibenarkan dalam C ++ dan dipanggil Beban Berfungsi . Ia juga dipanggil Polimorfisme masa kompilasi.

tutorial spring mvc untuk pemula

Sebagai contoh:

jumlah (int a, float b) jumlah (int a, int b) jumlah (int a, int b, int c)

Di sini, terdapat tiga fungsi dengan nama yang sama tetapi satu-satunya perkara yang membezakannya adalah bahawa parameternya berbeza pada setiap satu. Jadi, bergantung pada parameter yang dilalui, fungsi dipanggil.



Sekiranya jenis fungsi kembali berbeza maka dianggap tidak sah.

Teruskan dengan artikel ini mengenai Fungsi berlebihan dan mengatasi di C ++

Contoh Kod Untuk Fungsi Lebih Sedang Memuatkan

termasuk menggunakan ruang nama kelas std Penambahan {public: int add (int n1, int n2) {return n1 + n2} int add (int n1, int n2, int n3) {return n1 + n2}} int main (batal) {Tambahan cout< 

Pengeluaran

Output- Fungsi berlebihan dan mengatasi di C ++ - Edureka

Penjelasan

Dalam program di atas, kami mempunyai dua fungsi di kelas tambahan. Kedua-duanya bernama add. Satu mempunyai 2 parameter dan yang lain mempunyai 3 parameter.

Dalam fungsi utama, kami membuat objek penambahan kelas yang disebut a. Kami memanggil fungsi tambah dengan parameter 2 dan 3 masing-masing dan fungsi tambah dipanggil dan mereka melakukan penambahan.

Ini adalah bagaimana fungsi overloading berlaku.

adalah vs mempunyai java

Teruskan dengan artikel ini mengenai Fungsi berlebihan dan mengatasi di C ++

Fungsi Menimpa

Apabila kelas turunan mempunyai fungsi dengan nama yang sama dengan fungsi kelas asas, ia dipanggil Fungsi Menimpa. Kedua-dua fungsi mesti mempunyai parameter yang sama di kedua kelas.

Contoh Kod Untuk Fungsi Menimpa

#sertakan dengan menggunakan namespace std class BaseClass {public: void disp () {cout<<'Parent Class Function' } } class DerivedClass: public BaseClass{ public: void disp() { cout<<'Child Class Function' } } int main() { DerivedClass obj = DerivedClass() obj.disp() return 0 } 

Pengeluaran:

Penjelasan:

Dalam program di atas, kami menunjukkan fungsi asas, dengan nama yang sama pada kelas turunan dan asas. Di sini objek dibuat dari kelas turunan sehingga ketika kita memanggil paparan hanya objek kelas anak yang ditampilkan.

Teruskan dengan artikel ini mengenai Fungsi berlebihan dan mengatasi di C ++

Perintah untuk Melakukan Overriding

Pertimbangkan kodnya:

#sertakan dengan menggunakan namespace std class BaseClass {public: void disp () {cout<<'Function of Parent Class' } } class DerivedClass: public BaseClass{ public: void disp() { cout<<'Function of Child Class' } } int main() { BaseClass obj = DerivedClass() obj.disp() return 0 } 

Pengeluaran:

Penjelasan:

Dalam program di atas, kami menunjukkan fungsi asas, dengan nama yang sama pada kelas turunan dan kelas asas. Di sini, satu-satunya perbezaan dari program sebelumnya adalah. Kami membuat objek kelas kanak-kanak. Objek kelas kanak-kanak diberi rujukan kelas asas. Ini juga dapat dilakukan dengan menggunakan kaedah lain,

Sintaks

Parent_class_name :: fungsi ()

Dalam contoh di atas, kami menggunakannya sebagai,

BaseClass :: disp ()

Ini adalah cara lain untuk mengatasi.

Fungsi Overloading Fungsi Overriding

Beban Berfungsi Penggantian Fungsi
Skopnya samaSkopnya berbeza
Tandatangan mesti berbeza (cth: parameter)Tandatangan mestilah sama
Bilangan fungsi beban berlebihan mungkin berlakuHanya satu fungsi utama yang mungkin
Boleh berlaku tanpa pewarisanIa berlaku terutamanya kerana pewarisan

Oleh itu, kita telah mengakhiri artikel ini mengenai 'Fungsi Melebihi dan Mengatasi dalam C ++'. Sekiranya anda ingin mengetahui lebih lanjut, lihat di oleh Edureka, sebuah syarikat pembelajaran dalam talian yang dipercayai. Kursus latihan dan pensijilan Java J2EE dan SOA Edureka dirancang untuk melatih anda untuk konsep Java teras dan maju bersama dengan pelbagai kerangka kerja Java seperti Hibernate & Spring.

Ada soalan untuk kami? Sila sebutkan di bahagian komen blog ini dan kami akan menghubungi anda secepat mungkin.