Rumah Kewangan Peribadi Bagaimana polimorfisme berfungsi dalam C ++ - dummies

Bagaimana polimorfisme berfungsi dalam C ++ - dummies

Video: Kalkulator Phytagoras Pada Komputer | Java 2024

Video: Kalkulator Phytagoras Pada Komputer | Java 2024
Anonim

Sebagai landasan pagar, C ++ menyokong kedua-dua pengikat awal dan akhir. Sebarang bahasa pengaturcaraan yang diberikan dapat menyokong pengikatan awal atau lambat berdasarkan keinginan pemajunya. Bahasa yang lebih tua seperti C cenderung menyokong mengikat awal sahaja. Bahasa baru-baru ini seperti sokongan Java dan C # hanya mengikat lewat.

Anda mungkin terkejut bahawa lalai untuk C ++ adalah mengikat awal. Output program OverloadOverride seperti yang ditunjukkan adalah seperti berikut:

Kami dalam Pelajar:: CalcTuition Kami dalam Pelajar:: CalcTuition Tekan Enter untuk meneruskan …

Alasannya mudah, jika sedikit bertarikh. Pertama, C ++ perlu bertindak seperti C mungkin secara lalai untuk mengekalkan keserasian ke atas dengan pendahulunya. Kedua, polimorfisme menambah sedikit overhead untuk setiap fungsi memanggil kedua-dua dari segi penyimpanan data dan kod yang diperlukan untuk melaksanakan panggilan.

Pengasas C ++ bimbang bahawa sebarang overhead tambahan akan digunakan sebagai alasan untuk tidak mengadopsi C ++ sebagai bahasa pilihan sistem, sehingga mereka membuat awal yang lebih efisien mengikat lalai.

Untuk menjadikan fungsi ahli polimorfik, pengaturcara mesti menandakan fungsi dengan kata kunci C ++ maya, seperti yang ditunjukkan dalam pengubahsuaian berikut kepada perisytiharan dalam OverloadOveride < program: kelas Pelajar {public: virtual void calcTuition () {cout << "we are in Student:: calcTuition" << endl;}};

Kata kunci

maya yang memberitahu C ++ bahawa calcTuition () adalah fungsi anggota polimorfik. Maksudnya, mengisytiharkan kalkTuition () maya bermakna bahawa panggilan kepadanya akan terikat terlambat jika ada sebarang keraguan tentang jenis jangka masa objek yang mana calcTuition () dipanggil.

Melaksanakan program

OverloadOveride dengan calcTuition () mengumumkan maya menjana output berikut: Kami dalam Pelajar:: CalcTuition Kami dalam GraduateStudent:: calcTuition Press Masukkan untuk meneruskan …

Jika anda selesa dengan penyahpepijat yang disertakan dengan persekitaran C ++ anda, anda benar-benar perlu satu langkah melalui contoh ini. Ia sangat keren untuk melihat program satu langkah ke dalam Pelajar:: calcTuition () kali pertama yang fn () dipanggil tetapi ke GraduateStudent:: calcTuition () pada panggilan kedua. Anda tidak boleh benar-benar menghargai polimorfisme sehingga anda mencuba.

Anda perlu mengisytiharkan fungsi maya hanya di kelas asas. "Kekayaan" dibawa ke subclass secara automatik. Kadang-kadang, bagaimanapun, pengaturcara mengikuti standard pengekodan mengisytiharkan fungsi maya di mana-mana (hampir).

Bagaimana polimorfisme berfungsi dalam C ++ - dummies

Pilihan Editor

Meningkatkan Rancangan Navigasi Blog - dummies

Meningkatkan Rancangan Navigasi Blog - dummies

Reka bentuk navigasi hebat untuk blog anda meningkatkan pengalaman pembaca. Reka bentuk navigasi buruk di blog mengecewakan pengunjung yang ingin mencari catatan blog tertentu dengan cepat, atau membaca siaran berkaitan atau yang serupa. Mengharapkan keperluan pelawat anda dengan memikirkan blog anda seperti kedai, dan jawatan blog anda seperti produk: Catatan popular dan terkini: ...

Meningkatkan Pengalaman Pengguna Blog dengan Plugin - dummies

Meningkatkan Pengalaman Pengguna Blog dengan Plugin - dummies

Beberapa teknologi yang berbeza dapat meningkatkan blog anda . Plug-in, widget, dan alat semua membuat ciri-ciri baru, integrasi, dan penambahan mudah untuk dibungkus dan diedarkan. Teknologi-teknologi ini berkembang sepanjang masa, tetapi untuk mendapatkan blog anda dan berjalan, berikut adalah beberapa pilihan terbaik semasa untuk pelbagai tujuan. Widget / Name Plugin ...

Meningkatkan Tajuk Blog Anda dan Reka Bentuk Tagline untuk SEO - patung

Meningkatkan Tajuk Blog Anda dan Reka Bentuk Tagline untuk SEO - patung

Tag tajuk blog anda dan tagline memberi enjin carian penerangan kandungan blog anda. Reka bentuk blog SEO yang berkesan bermakna memastikan jawatan blog enjin carian yang layak dan halaman mempunyai tag tajuk mereka sendiri dan bahawa slogan setiap halaman penuh dengan kata kunci yang berkaitan.

Pilihan Editor

Office 2013 Save As Dialog Box - dummies

Office 2013 Save As Dialog Box - dummies

Office 2013 menggunakan SkyDrive pengguna Windows semasa sebagai penyimpanan default lokasi. SkyDrive adalah kawasan penyimpanan dalam talian berasaskan awan yang dihoskan oleh Microsoft. Sesiapa yang mendaftarkan perkhidmatan, atau yang log masuk ke Windows 8 dengan Microsoft ID, diberikan sejumlah ruang penyimpanan percuma, dan boleh membeli lebih banyak. Cloud adalah ...

Unclutter Peti Masuk Outlook anda dengan Clutter - dummies

Unclutter Peti Masuk Outlook anda dengan Clutter - dummies

Mahu aplikasi e-mel yang juga pembaca minda? Keinginan anda diberikan. Anda boleh mengucapkan terima kasih kepada Graph Office dan Clutter, ciri baru dalam Outlook. Clutter menggunakan teknologi di sebalik Grafik Pejabat untuk menganalisis isyarat yang anda hantar apabila anda mengambil tindakan terhadap e-mel anda. Sebagai contoh, jika anda cenderung untuk mengabaikan e-mel daripada ...

Pilihan Editor

Elakkan Berat Berat Ketika Menguatkuasakan Garis Panduan Komuniti Dalam Talian - dummies

Elakkan Berat Berat Ketika Menguatkuasakan Garis Panduan Komuniti Dalam Talian - dummies

Hanya kerana anda mempunyai kuasa untuk berbuat demikian tidak bermakna bahawa semua masalah komuniti dalam talian memerlukan amaran dan banner. Ya, anda ingin menonjolkan keadaan negatif di dalam tunas, tetapi tidak, anda tidak mahu mendapat sedikit tentangnya sama ada. Kadang-kadang membiarkan slaid isu baik-baik saja. Sebagai pengurus komuniti, tugas anda untuk mengetahui ...

Elakkan Peluang Yang Berisiko Reputasi Blog Anda - dummies

Elakkan Peluang Yang Berisiko Reputasi Blog Anda - dummies

Apabila anda mengaitkan blog ibu anda dan jenama peribadi anda produk atau jenama syarikat, tidak dapat dielakkan bahawa anda akan menggosok satu sama lain. Suka atau tidak, anda boleh dan boleh dikaitkan dengan jenama itu. Tidak semua syarikat yang ingin memberi anda produk percuma adalah yang anda mahu ...

Peruntukkan Peranan ke Font di Laman Blog Anda - dummies

Peruntukkan Peranan ke Font di Laman Blog Anda - dummies

Apabila anda menetapkan peranan ke fon anda, membantu memastikan reka bentuk blog anda kelihatan profesional. Menjaga tujuan fon anda jelas menjadikan reka bentuk navigasi blog anda lebih berkesan dan reka bentuk keseluruhan anda lebih mudah di mata. Selepas anda memilih dua atau tiga fon pelengkap yang juga mempunyai perbezaan yang cukup untuk menonjol dari satu sama lain (lihat ...