Fungsi Virtual C++

 Apa itu Fungsi Virtual ?

      Adalah fungsi yang mendukung adanya polymorphic function.  artinya fungsi tersebut dapat didefinisikan ulang pada kelas - kelas turunannya.  Fungsi ini biasanya terdapat pada kelas - kelas dasar.  Walaupun demikian, kita juga dapat mendeklarasikan fungsi virtual pada kelas - kelas turunan yang akan dijadikan sebagai kelas dasar bagi kelas - kelas lainnya.  Dalam C++, untuk mendefinisikan fungsi sebagai fungsi virtual adalah dengan menggunakan kata kunci Virtual yaitu dengan menempatkan di depan pendeklarasian fungsi tersebut .

     Pendefinisian fungsi virtual yang terdapat pada kelas dasar biasanya tidak begitu berarti.  Artinya kode - kode yang terdapat di dalamnya masih bersifat general.  Selanjutnya setiap kelas turunan akan mendefinisikan ulang fungsi virtual itu dengan mengisikan perintah - perintah yang sudah spesifik sesuai dengan kebutuhan dari kelas turunan tersebut.

Contoh Program :
//fungsi virtual.cpp

include
using namespace std;

class Manusia
{
 char * nama;
 int tinggi;

public :
  void setNama(char* N)
 {
        nama = N;
 }
 void setTinggi(int T)
 {
       tinggi = T;
 }
 char* getNama()
 {return nama;}
 int getTinggi()
 {return tinggi;}

//membuat fungsi virtual
virtual void Makan()
 {cout << "Makan makan" << endl;}
virtual void Minum()
 {cout << "Minum minum" << endl;}

};

class Mahasiswa : Manusia
{
     char* universitas;
     char* jurusan;

     public :
          void setUniversitas(char* U)
         {
                universitas = U;
         }
          void setJurusan(char* J)
        {
               jurusan = J;
        }
         char* getUniversitas()
        {return universitas;}
        char* getJurusan()
        {return jurusan;}

      //melakukan override
      void Makan()
     {
           cout << "Makan Makanan";
     }
     void Minum()
     {
          cout << "Minum Minuman";
     }
};

//fungsi utama
int main()
{
      //melakukan inisiasi
      Manusia panggilManusia;
      Mahasiswa panggilMahasiswa;

      //memanggil fungsi Makan dari masing2 kelas
      panggilManusia.Makan();
      panggilMahasiswa.Makan();

      //memanggil fungsi Minum dari masing2 kelas
      panggilManusia.Minum();
      panggilMahasiswa.Minum();

      System("pause");
      return 0;
}

demikianlah mudah2an bermanfaat.. selamat mencoba ^^..

1 comment:

Tutorial Lengkap Hosting Website Gratis Dengan Gambar

Hallo Guys.. sudah sangat lama sekali sejak terakhir kali saya melakukan posting di blogger ini... kalau saya tidak salah terakhir saya ...