Home > Ren's Free Time > Inheritance / Pewarisan dalam C++ Part 1

Inheritance / Pewarisan dalam C++ Part 1

Mari kita break  untuk posting tentang Java, kita isi dengan posting bahasa pemrograman yang lain yaitu C++. Untuk posting kali ini adalah inheritance / pewarisan pada bahasa C++.  Tentu salah satu hal yang perlu diperhatikan dalam inheritance adalah akses modifier untuk setiap entitas pada class base baik itu fungsi / method dan variabel. Secara default entitas pada class base yang mempunyai akses modifier public dan protected, pada class derived / turunan akses modifiernya berubah menjadi private. Sedangkan entitas pada base class yang akses modifiernya private tidak diturunkan kepada derived class, begitu juga konstruktor dan destruktor juga tidak diturunkan kepada derived class. Untuk mengubah setting default pada pewarisan dapat menggunakan penentu pewarisan. berikut ini format untuk inheritance pada C++.

class nama_derived_class : penentu pewarisan nama_base_class

{

/* code untuk derived class */

};

Berikut tabel Penentu pewarisan.

Penentu pewarisan

Akses modifier di base class

Akses modifier pada derived class

Private Private
Protected
Public
Tidak diwariskan
Private
private
Protected Private
Protected
Public
Tidak diwariskan
Protected
Protected
Public Private
Protected
Public
Tidak diwariskan
Protected
Public

Contoh code untuk inheritance menggunakan penentu pewarisan public semoga bermanfaat.

#include <iostream>
using namespace std;
class CPolygon {
protected:
int width, height;
public:
void set_values (int a, int b)
{ width=a; height=b;}
};

class CRectangle: public CPolygon {
public:
int area ()
{ return (width * height); }
};

class CTriangle: public CPolygon {
public:
int area ()
{ return (width * height / 2); }
};

int main () {
CRectangle rect;
CTriangle trgl;
rect.set_values (4,5);
trgl.set_values (4,5);
cout << rect.area() << endl;
cout << trgl.area() << endl;
return 0;
}

Referensi : dari berbagai sumber😀

  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: