Home > Ren's Free Time > Polymorphism di C++

Polymorphism di C++

Setelah Inheritance, mari kita posting tentang polymorphism. Jika kita membicarakan polymorphism dalam C++, tentu kita harus membicarakan tentang fungsi virtual / virtual function dan overriding.

Berikut ini, code sederhana untuk contoh polymorphism

#include <iostream>
using namespace std;

class CPolygon {
protected:
int width, height;
public:
void set_values (int a, int b)
{ width=a; height=b; }
virtual int area ()  /* virtual function */
{ return (0); }
};

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;
CPolygon poly;
CPolygon * ppoly1 = &rect;
CPolygon * ppoly2 = &trgl;
CPolygon * ppoly3 = &poly;
ppoly1->set_values (4,5);
ppoly2->set_values (4,5);
ppoly3->set_values (4,5);
cout << ppoly1.area() << endl;
cout << ppoly2->area() << endl;
cout << ppoly3->area() << endl;
return 0;
}

Jadi kesimpulannya adalah : fungsi virtual / virtual function yang ditandai dengan keyword virtual pada base class mengindikasikan bahwa class derived diperbolehkan untuk melakukan overriding terhadap method / fungsi pada base class tersebut.

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: