0% menganggap dokumen ini bermanfaat (0 suara)
570 tayangan6 halaman

Pewarisan Tunggal dan Jamak dalam C++

Single inheritance memungkinkan kelas turunan mewarisi sifat dari satu kelas dasar. Contohnya kelas Kuda mewarisi sifat dari kelas Hewan. Multiple inheritance memungkinkan kelas turunan mewarisi sifat dari lebih dari satu kelas dasar seperti kelas PaketBukuDanFlashDisk mewarisi sifat dari kelas Buku dan FlashDisk. Java hanya mendukung single inheritance sedangkan C++ mendukung keduanya.

Diunggah oleh

akeakeakea
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
570 tayangan6 halaman

Pewarisan Tunggal dan Jamak dalam C++

Single inheritance memungkinkan kelas turunan mewarisi sifat dari satu kelas dasar. Contohnya kelas Kuda mewarisi sifat dari kelas Hewan. Multiple inheritance memungkinkan kelas turunan mewarisi sifat dari lebih dari satu kelas dasar seperti kelas PaketBukuDanFlashDisk mewarisi sifat dari kelas Buku dan FlashDisk. Java hanya mendukung single inheritance sedangkan C++ mendukung keduanya.

Diunggah oleh

akeakeakea
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd

Single Inheritance (Pewarisan Tunggal)

Single Inheritance adalah pewarisan yang jumlah kelas dasarnya (basic


class / superclass) tunggal, tapi kelas turunan (subclass) bisa lebih dari satu.
Konsep inheritance yang ada di Java hanya memperkenankan adanya single
inheritance.
Contoh Program Single Inheritance :

//Contoh Single Inheritance


#include<iostream>
using namespace std;
class makhluk
{
public:
void berkembang();
};
class hewan : public makhluk
{
public:
void bergerak();
};
class kuda : public hewan
{
public:
void berlari();
};
main()
{
makhluk mk; hewan hw; kuda kd;
cout<<endl<<" Sifat-sifat dari Makhluk adalah : "<<endl;

[Link]();
cout<<endl<<" Sifat-sifat dari Hewan adalah : "<<endl;
[Link](); [Link]();
cout<<endl<<" Sifat-sifat dari Kuda adalah : "<<endl;
[Link](); [Link](); [Link]();
}
void makhluk::berkembang()
{
cout<<" Berkembang biak"<<endl;
}
void hewan::bergerak()
{
cout<<" Bergerak berpindah tempat"<<endl;
}
void kuda::berlari()
{
cout<<" Berlari sangat kencang seperti angin"<<endl;
}

Multiple Inheritance (PewarisanJamak)


Multiple Inheritance adalah Kelas yang diturunkan lebih dari satu kelas yang
berbeda (jumlahkelas dasarnya lebih dari satu). Java tidak mendukung
adanya Multiple Inheritance, untuk menggantikan konsep multiple
inheritance java menggunakan interface sedangkan C++ mendukung adanya
Multiple Inheritance.
Contoh Program Multiple Inheritance :

//Contoh Multiple Inheritance


#include <iostream>

using namespace std;

class Buku
{
private:
string judul;
string pengarang;
long harga;
public:
Buku (string judul, string pengarang, long harga);
void info();
};

class FlashDisk
{
private:
string ukuran;
long harga;
public:
FlashDisk (string ukuran, long harga);
void info ();
};

class PaketBukuDanFlashDisk : public Buku, public FlashDisk


{
private:

long harga;
public:
PaketBukuDanFlashDisk (string judul, string pengarang, long
harga_buku, string ukuran, long harga_fd);
void info ();
};

int main()
{
PaketBukuDanFlashDisk cpp ("C++", "Alakadabra", 85000, "4 GB", 40000);
[Link]();

return 0;
}

//Definisi fungsi anggota

Buku::Buku(string judul, string pengarang, long harga)


{
Buku::judul = judul;
Buku::pengarang = pengarang;
Buku::harga = harga;
}

void Buku::info ()
{
cout << "Judul buku

: " << judul << endl;

cout << "Pengarang

: " << pengarang << endl;

cout << "Harga buku

: " << harga << endl;

FlashDisk::FlashDisk(string ukuran, long harga)


{
FlashDisk::ukuran = ukuran;
FlashDisk::harga = harga;
}

void FlashDisk::info ()
{
cout << "Ukuran Flash

: " << ukuran << endl;

cout << "Harga Flash

: " << harga << endl;

PaketBukuDanFlashDisk::PaketBukuDanFlashDisk(string judul, string pengarang,


long harga_buku, string ukuran, long harga_fd) :
Buku (judul, pengarang, harga_buku),
FlashDisk(ukuran, harga_fd)
{
harga = harga_buku + harga_fd;
}

void PaketBukuDanFlashDisk::info ()
{
Buku::info ();

FlashDisk::info ();

cout << "Harga paket


}

: " << harga << endl;

Anda mungkin juga menyukai