Penjelasan dan Kegunaan Final Specifier

Written by: Fajar Laksono   |   Updated on: Juni 10, 2019
final specifier

Penjelasan final Specifier

final adalah sebuah specifier dari C++11 yang digunakan untuk mencegah terjadinya overriding terhadap suatu function pada sebuah class dan dapat pula untuk mencegah terjadinya inheritance pada suatu class.

final digunakan untuk mencegah overriding

Contoh Penulisan:

class baseclass{
   	virtual void perkenalan() final{ //contoh penggunaan final specifier
      		//…
   	}
}

Dalam kasus di atas, tidak akan ada yang bisa mencoba untuk membuat function tersebut menjadi sebuah overridden. berikut adalah bukti-nya:

Contoh Program:

#include <iostream>
using namespace std;

class baseClass {
public:
   virtual void perkenalan() final{
      cout<<"Hallo saya Function dari base class";
   }
};
class derivedClass: public baseClass{
public:
   void perkenalan() {
      cout<<"Hallo saya Function dari derived Class";
   }
};
int main() {
   derivedClass a;
   a.perkenalan();

   return 0;
}

Program di atas tidak akan bisa di jalankan dengan baik, dan akan menghasilkan pesan error yang berbunyi kurang lebih seperti ini:


error: overriding final function ‘virtual void baseClass::perkenalan()’

final digunakan untuk mencegah inheritance

Contoh Penulisan:

class baseclass final{ //contoh penggunaan final specifier
      	//…
}

Dalam kasus di atas, tidak akan ada yang bisa mencoba untuk membuat sebuah inheritance dari class tersebut. berikut adalah bukti-nya:

Contoh Program:

#include <iostream>
using namespace std;

class baseClass final{
public:
   virtual void perkenalan(){
      cout<<"Hallo saya Function dari base class";
   }
};
class derivedClass: public baseClass{
public:
   void perkenalan() {
      cout<<"Hallo saya Function dari derived Class";
   }
};
int main() {
   derivedClass a;
   a.perkenalan();

   return 0;
}
 

Program di atas tidak akan bisa di jalankan dengan baik, dan akan menghasilkan pesan error yang berbunyi kurang lebih seperti ini:


error: cannot derive from ‘final’ base ‘baseClass’ in derived type ‘derivedClass’

Baca :   Penjelasan dan Contoh Pernyataan While

One Reply to “Penjelasan dan Kegunaan Final Specifier”

  1. Hey tһere! I juѕt wanted to ask іf you еver haνe any trouble
    with hackers? My laѕt blog (wordpress) ᴡaѕ hacked аnd I ended սp losing
    montһs of һard ѡork ԁue to no backup. Do you hаve any solutions to prevent hackers?

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *