C++

Warisan C++

Warisan C++
Warisan adalah fitur yang sangat penting dari pemrograman berorientasi objek. Hal ini memungkinkan programmer untuk mendapatkan kelas dari kelas yang ada. Ini sangat berguna terutama dalam proyek besar yang kompleks karena memungkinkan programmer untuk menggunakan kembali kode.

Pada artikel ini, kita akan membahas konsep pewarisan dalam pemrograman C++. Kami akan menjelaskan konsep fungsi teman di C++ dengan contoh kerja.

Mengapa Warisan?

Warisan memungkinkan membuat kelas baru atau kelas turunan dari kelas lain atau kelas dasar. Kelas turunan atau kelas anak akan memiliki semua fitur dari kelas induk atau kelas dasar. Kami dapat menggunakan kembali kode dengan bantuan warisan.

Jenis Warisan

Ada berbagai jenis warisan:

  1. Warisan Sederhana/Tunggal
  2. Warisan Hirarkis
  3. Warisan Bertingkat
  4. Banyak Warisan

Dalam artikel ini, kita hanya akan mempertimbangkan pewarisan sederhana/tunggal.

Contoh 1:

Sekarang, mari kita lihat contoh program untuk memahami konsep pewarisan dalam C++. Kami telah mendefinisikan kelas dasar dan kemudian menurunkan kelas lain darinya. Oleh karena itu, kelas turunan akan memiliki fitur (anggota dan fungsi) dari kelas dasar.

#termasuk
menggunakan namespace std;
kelas Base_Class

publik:
di aku;
tampilan kosong()

cout << "Display of Base Class " << i << endl;

;
kelas Derived_Class:Kelas_Basis publik

publik:
batal tampil()

cout << "Show of Derived Class" << endl;

;
int utama()

Derived_Class dc;
dc.saya = 100;
dc.tampilan();
dc.menunjukkan();
kembali 0;

Contoh 2:

Ini adalah contoh lain dari pewarisan di C++. Dalam contoh ini, kita akan melihat bagaimana konstruktor dipanggil ketika objek kelas turunan dibuat.

Seperti yang Anda lihat di bawah, kami telah mendefinisikan dua konstruktor kelas dasar dan tiga konstruktor kelas turunan. Anda dapat dengan jelas melihat dari output di bawah ini bahwa konstruktor kelas dasar dipanggil terlebih dahulu sebelum konstruktor kelas turunan dipanggil.

#termasuk
#termasuk
menggunakan namespace std;
kelas Base_Class

publik:
Kelas_Basis()

cout << "Base_Class - No Parameters" << endl;

Kelas_Basis(int x)

cout << "Base_Class - Parameters : " << x << endl;

;
kelas Derived_Class:Kelas_Basis publik

publik:
Kelas_Berasal()

cout << "Derived_Class - No Parameters" << endl;

Kelas_Derivasi(int y)

cout << "Derived_Class - Parameters : " << y << endl;

Derived_Class(int x,int y):Base_Class(x)

cout << "Param of Derived_Class : " << y << endl;

;
int utama()

Turunan_Kelas d(7,19);

Contoh 3:

Dalam contoh ini, kita akan melihat bagaimana objek kelas turunan dapat digunakan.

Seperti yang Anda lihat, ada dua kelas yang didefinisikan: Rectangle_Class dan Cube_Class. Rectangle_Class adalah kelas dasar dari mana kelas turunan, i.e., Cube_Class diturunkan. Oleh karena itu, kami mewarisi fitur dari Rectangle_Class ke Cube_Class.

Juga, Anda dapat melihat bahwa kami mewarisi Cube_Class dengan kontrol akses publik. Ini berarti bahwa kelas turunan dapat mengakses semua anggota non-pribadi dari kelas dasar.

Kami telah mendeklarasikan objek dari kelas turunan, dan kemudian memanggil metode dari kelas dasar, i.e., setLength() dan setBreadth().

#termasuk
menggunakan namespace std;
kelas Rectangle_Class

pribadi:
int panjang;
int luasnya;
publik:
Rectangle_Class();
Rectangle_Class(int l,int b);
Rectangle_Class(Rectangle_Class &r);
int getPanjang()

panjang kembali;

int getBreadth()

kembali luasnya;

void setLength(int l);
void setBreadth(int b);
int luas();
;
kelas Cube_Class:public Rectangle_Class

pribadi:
int tinggi;
publik:
Cube_Class(int h)

tinggi = jam;

int getTinggi()

tinggi kembali;

batal setHeight(int h)

tinggi = jam;

int volume()

kembali getLength()*getBreadth()*height;

;
Rectangle_Class::Rectangle_Class()

panjang=1;
lebar=1;

Rectangle_Class::Rectangle_Class(int l,int b)

panjang = l;
lebar = b;

Rectangle_Class::Rectangle_Class(Rectangle_Class & r)

panjang = r.panjangnya;
lebar = r.luasnya;

void Rectangle_Class::setLength(int l)

panjang = l;

void Rectangle_Class::setBreadth(int b)

lebar = b;

int Rectangle_Class::area()

kembali panjang * lebar;

int utama()

Kelas_Kubus c(8);
c.setPanjang(12);
c.setBreadth(9);
cout<<"Volume is "<

Kesimpulan:

Pada artikel ini, saya telah menjelaskan konsep Warisan dalam C++. C++ mendukung berbagai jenis pewarisan termasuk "warisan berganda" (mis.e., mewarisi fitur dari beberapa kelas dasar atau kelas induk). Namun, untuk membuatnya lebih sederhana, saya hanya mempertimbangkan warisan tunggal di sini. Saya telah menunjukkan tiga contoh kerja untuk menjelaskan bagaimana kita dapat menggunakan pewarisan dalam pemrograman C++ dan menggunakan kembali kodenya. Selain itu, ini adalah fitur C . yang sangat berguna++.

SuperTuxKart untuk Linux
SuperTuxKart adalah judul hebat yang dirancang untuk memberi Anda pengalaman Mario Kart gratis di sistem Linux Anda. Ini cukup menantang dan menyenang...
Pertempuran untuk Tutorial Westnoth
The Battle for Wesnoth adalah salah satu game strategi open source terpopuler yang bisa kamu mainkan saat ini. Tidak hanya game ini telah dikembangkan...
0 A.D. tutorial
Dari sekian banyak game strategi di luar sana, 0 A.D. berhasil menonjol sebagai judul yang komprehensif dan permainan taktis yang sangat dalam meskipu...