Saturday, April 1, 2017

SCRIPT BAHASA C++ POLYMORPHIS

Yo whatsapp, kali ini saya akan share tentang polymorphis. Polymorphis itu apa sih???


Dimana sang induk dapat mewarisi nilai kepada anaknya sekaligus dapat meniru sang anak contoh script dibawah nama kelas induk class shape dia menurunkan fungsi draw kepada 3 anaknya yaitu class circle,rect,dan tri, nah siinduk shape dia juga dapat meniru draw anaknya yang memiliki isi yang berbeda,  ini codenya. Ingat ini terdiri dari 2 file satu berformat “cpp” dan satu berformat “.h” dang yang dicompile yang “cpp” ya .


!!!INI UNTUK FORMAT CPP!!
#include <iostream>
#include "shape.h"

int main()
{
               
                circle c;
                c.set_position(6, 1);
                c.draw();
               
                rect r;
                r.set_position(8, 4);
                r.draw();
               
                tri t;
                t.set_position(9, 3);
                t.draw();
               
               
                std::cout<<"ini polymorphis\n";
                shape* sp = &c;
                sp->draw();

                sp = &r;
                sp->draw();

                sp = &t;
                sp->draw();
               
                return 0;
}


!!!INI UNTUK FORMAT .H!!!
class shape
{
public:
                void set_position(float x, float y);
                virtual void draw();
protected:
                float x;
                float y;
};

void shape::set_position(float _x, float _y)
{
                x = _x;
                y = _y;
}

void shape::draw()
{
                std::cout<<"draw a shape {";
                std::cout<< x << ", " << y << "}\n";
}

//--------cicrle-----------//

class circle: public shape
{
                public:
                                void draw();
};

void circle::draw()
{
                std::cout<<"draw a circle at {";
                std::cout<< x << ", " << y << "}\n";
}

//--------rectangular-----------//

class rect: public shape
{
                public:
                                void draw();
};

void rect::draw()
{
                std::cout<<"draw a rect at {";
                std::cout<< x << ", " << y << "}\n";
}

//--------triangle-----------//

class tri: public shape
{
                public:
                                void draw();
};

void tri::draw()
{
                std::cout<<"draw a tri at {";
                std::cout<< x << ", " << y << "}\n";
}





No comments:

Post a Comment

NAMESPACE C++,COMPILE dan LINKING

Hari ini saya akan memposting namespace,compile danlingking pada c++. NAMESPACE  Namespace adalah sebuah pengelompokan progam agar proga...