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

Penggabungan Fungsi C++ Dijelaskan – Contoh Praktik dan Praktik Terbaik

Penggabungan Fungsi C++ Dijelaskan

Panduan ini mengungkapkan penggabungan fungsi dalam C++, memberikan contoh yang jelas, praktik terbaik, dan walkthrough langkah demi langkah yang akan digunakan oleh pengembang C++ berpengalaman dalam produksi.

Mengapa Penggabungan Fungsi Penting

Dalam pemrograman berorientasi objek, warisan memungkinkan kelas turunan untuk memperluas atau memodifikasi perilaku kelas dasar. Ketika fungsi anggota yang sama dideklarasikan di kelas dasar dan kelas turunan, implementasi turunan “menggantikan” yang dasar. Ketika Anda memanggil fungsi tersebut melalui objek kelas turunan, versi yang digantikan akan dijalankan.


Contoh 1: Penggabungan Dasar

#include <iostream> using namespace std; class Base { public: void print() { cout << "Fungsi Dasar" << endl; } }; class Derived : public Base { public: void print() { cout << "Fungsi Turunan" << endl; } }; int main() { Derived d; d.print(); return 0; }

Output

Fungsi Turunan

Memanggil print() pada instance Derived mengeksekusi fungsi yang digantikan, bukan versi dasar.

Penggabungan Fungsi C++ Dijelaskan – Contoh Praktik dan Praktik Terbaik

Jika Anda membuat objek Base dan memanggil print(), Anda akan melihat implementasi dasar asli.

Base b; b.print(); // Output: Fungsi Dasar

Mengakses Fungsi Dasar yang Digantikan

Kadang Anda perlu memanggil versi kelas dasar secara eksplisit. Dua teknik umum adalah:

Contoh 2: Resolusi Cakupan untuk Memanggil Fungsi Dasar

#include <iostream> using namespace std; class Base { public: void print() { cout << "Fungsi Dasar" << endl; } }; class Derived : public Base { public: void print() { cout << "Fungsi Turunan" << endl; } }; int main() { Derived d1, d2; d1.print(); d2.Base::print(); // Panggil eksplisit ke Base::print return 0; }

Output

Fungsi Turunan Fungsi Dasar

Contoh 3: Memanggil Fungsi Dasar dari Dalam Turunan

#include <iostream> using namespace std; class Base { public: void print() { cout << "Fungsi Dasar" << endl; } }; class Derived : public Base { public: void print() { cout << "Fungsi Turunan" << endl; Base::print(); // Panggil versi dasar } }; int main() { Derived d; d.print(); return 0; }

Output

Fungsi Turunan Fungsi Dasar

Contoh 4: Menggunakan Pointer Dasar untuk Mengakses Fungsi Dasar

#include <iostream> using namespace std; class Base { public: void print() { cout << "Fungsi Dasar" << endl; } }; class Derived : public Base { public: void print() { cout << "Fungsi Turunan" << endl; } }; int main() { Derived d; Base* ptr = &d; // Pointer Dasar yang menunjuk ke objek Turunan ptr->print(); // Memanggil Base::print karena fungsi bukan virtual return 0; }

Output

Fungsi Dasar

Ketika fungsi tidak dideklarasikan virtual, pointer kelas dasar memanggil implementasi dasar. Untuk mencapai perilaku polimorfisme yang sebenarnya, deklarasikan fungsi dasar virtual dan ganti di kelas turunan.


Contoh-contoh ini mengilustrasikan mekanika penggabungan fungsi dalam C++. Dengan menguasai konsep ini, Anda dapat menulis kode yang lebih bersih, lebih mudah dipelihara yang memanfaatkan polimorfisme secara efektif.

Bahasa C

  1. Menguasai Operator C++: Panduan Lengkap dengan Contoh Praktis
  2. Komentar C++: Praktik Terbaik untuk Kode yang Mudah Dibaca dan Dipelihara
  3. Cara Meneruskan Array ke Fungsi dalam C++: Panduan Praktis
  4. Fungsi C++ Dijelaskan dengan Contoh Kode Praktis
  5. Menguasai Fungsi C: Struktur, Deklarasi, dan Praktik Terbaik
  6. Bahasa Pemrograman C++: Tinjauan & Fitur Utama
  7. Konstanta & Literal C++ Dijelaskan: Tipe, Sintaks, dan Praktik Terbaik
  8. Panduan Lengkap Operator C++: Tipe, Penggunaan, dan Praktik Terbaik
  9. Menguasai Tipe Numerik C++: Panduan Praktis
  10. Menguasai Overloading C++: Fungsi & Operator Dijelaskan