//
you're reading...
Programming

Multiple Inheritance Pada C++

diamond_problem.gif

diamond_problem.gifMultiple inheritance adalah suatu konstruksi class dimana sebuah class menuruni sifat 2 class yang lain. Multiple inheritance dapat menyebabkan kondisi yang ambigu, yang dapat menyebabkan program memunculkan error pada saat dicompile. Multiple inheritance telah menjadi isu selama beberapa tahun. Kebanyakan bahasa OOP modern tidak mengijinkan inheritance semacam ini.

Meskipun demikian, C++ memungkinkan penerapan multiple inheritance. Contoh yang paling sering dipakai adalah pada kasus Diamond Problem. Masalah muncul ketika class  basic_iostream diinisiasi, sebabnya compiler bingung karena data mengacu pada tempat yang sama (basic_istream dan basic_ostream sama-sama menuruni member dari basic_ios).

Solusinya mudah saja, cukup menambahkan keyword virtual pada saat mendefinisikan class basic_istream dan basic_ostream.

class basic_ios {} 
class basic_istream : virtual public basic_ios {}
class basic_ostream : virtual public basic_ios {}
class basic_iostream : public basic_istream, public basic_ostream {}

Itu saja!

About akhuna

Enterpreneur, IT Consultant, Student of ITS Surabaya and Kumamoto University, and a Father of a happy family.

Diskusi

2 thoughts on “Multiple Inheritance Pada C++

  1. terimakasih boss, akhirnya aku bisa mengerjakan tugasku..

    Posted by taofik | Maret 19, 2009, 2:57 am
  2. Kak, mw tanya Virtual itu penggunaannya dalam kasus apa? Terima kasih Kak

    Posted by Michael Hartanto | Desember 8, 2010, 3:24 pm

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: