Penentu Akhir
Anda dapat menggunakan kata kunci akhir untuk menunjuk fungsi virtual yang tidak dapat ditimpa dalam kelas turunan. Anda juga dapat menggunakannya untuk menunjuk kelas yang tidak dapat diwariskan.
Sintaks
function-declaration final;
class class-name final base-classes
Keterangan
final peka konteks dan hanya memiliki arti khusus ketika digunakan setelah deklarasi fungsi atau nama kelas; jika tidak, itu bukan kata kunci yang dipesan.
Ketika final digunakan dalam deklarasi kelas, base-classes
adalah bagian opsional dari deklarasi.
Contoh
Contoh berikut menggunakan kata kunci akhir untuk menentukan bahwa fungsi virtual tidak dapat ditimpa.
class BaseClass
{
virtual void func() final;
};
class DerivedClass: public BaseClass
{
virtual void func(); // compiler error: attempting to
// override a final function
};
Untuk informasi tentang cara menentukan bahwa fungsi anggota dapat ditimpa, lihat menimpa Penentu.
Contoh berikutnya menggunakan kata kunci akhir untuk menentukan bahwa kelas tidak dapat diwariskan.
class BaseClass final
{
};
class DerivedClass: public BaseClass // compiler error: BaseClass is
// marked as non-inheritable
{
};
Baca juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk