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