Fungsi virtual murni dan kelas abstrak
Fungsi maya murni adalah fungsi maya tanpa badan fungsi. Apa yang dimaksud dengan tubuh tidak berfungsi? Ini adalah fungsi yang didefinisikan seperti ini:
nama fungsi nilai pengembalian virtual (parameter formal) = 0;
Seperti yang Anda lihat, definisi fungsi virtual dan fungsi virtual sama sebelumnya, dengan tambahan =0 di akhir. Menunjukkan bahwa tidak ada badan fungsi, ini adalah fungsi virtual murni . Kelas yang berisi fungsi virtual murni adalah kelas abstrak . Kelas abstrak memiliki setidaknya satu fungsi virtual murni.
Keberadaan kelas abstrak adalah untuk menyediakan antarmuka yang sangat abstrak dan terpadu ke dunia luar, dan kemudian menggunakan metode yang berbeda melalui fitur polimorfik. Ini adalah salah satu ide inti dari desain berorientasi objek dan rekayasa perangkat lunak C++.
Ciri-ciri kelas abstrak dirangkum sebagai berikut:
1. Kelas abstrak tidak dapat membuat instance suatu objek. Ia hanya dapat digunakan sebagai kelas dasar untuk memungkinkan kelas turunan menyelesaikan fungsi virtual murni di dalamnya, lalu membuat instance dan menggunakannya.
2. Kelas abstrak turunan masih belum dapat menyelesaikan fungsi virtual murni di kelas dasar secara tidak lengkap dan terus diturunkan sebagai kelas abstrak. Sampai definisi semua fungsi virtual murni diberikan, ia menjadi kelas konkrit dan objek tidak dapat dipakai.
3. Karena kelas abstrak bersifat abstrak dan tidak dapat diwujudkan, kelas tersebut tidak dapat digunakan sebagai tipe parameter, nilai kembalian, atau tipe cast.
4. Melanjutkan item ketiga, kelas abstrak dapat mendefinisikan pointer atau tipe referensi yang menunjuk ke kelas turunannya untuk mencapai fitur polimorfik.