Halo
sobat kali ini saya akan share sebuah script inheritance bahasa c++.
Inheritance itu apa sih?? Inheritance adalah dimana keadaaan progam memiliki
sebuah induk dan induk tersebut dapat mewarisi nilai terhadap anaknya contoh,
disini saya membuat 1 kelas induk yaitu “shape” dan memiliki 2 kelas anak yaitu
“circle” dan “rectangular”, dimana sang induk mewarisi fungsi area keanaknya,
berikut codingannya. ini terdiri dari 2 file 1 berformat "cpp" dan 1
berformat ".h",yang dicompile yang cpp!
!!!INI
UNTUK FORMAT CPP!!!
#include
<iostream>
#include
"shape.h"
using
namespace std;
int main()
{
circle a;
a.set_position(1,1);
a.set_radius(5);
cout<<a.area()<<endl;
rect rec;
rec.set_radius(3,10);
cout<<rec.area()<<endl;
return 0;
}
!!!INI
UNTUK FORMAT .h!!!
class
shape
{
float x;
float y;
public:
void set_position(float _x, float _y);
float area();
};
void
shape::set_position(float _x, float _y)
{
x = _x;
y = _y;
}
float
shape::area()
{
return 0;
}
//-----end
of shape-------//
//-----rectangulare-------//
class
rect: public shape
{
float width;
float height;
public:
void set_radius(float w, float h);
float area();
};
void
rect::set_radius(float w, float h)
{
if(w < 0) w = 0;
if(h < 0) h = 0;
width=w;
height=h;
}
float
rect::area()
{
return width * height;
}
//-------circle--------//
class
circle: public shape
{
float radius;
public:
void set_radius(float x);
float area();
};
void
circle::set_radius(float x)
{
if(x < 0) x = 0;
radius = x;
}
//overriding//
float
circle::area()
{
return 3.14 * (radius * radius);
}
No comments:
Post a Comment