Program Struktur Data..
#include <cstdlib>
#include <iostream>
#include <conio.h>
using namespace std;
class Bilangan{
friend ostream& operator<<(ostream&, const Bilangan&);
friend istream& operator>>(istream&, Bilangan&);
public:
Bilangan(int a0=0,float b0=0.0):a(a0),b(b0){}
void banding_int(const Bilangan&, const Bilangan&);
Bilangan& operator=(const Bilangan&);
Bilangan operator+(const Bilangan&)const;
Bilangan operator-()const;
private:
int a;
float b;
};
ostream& operator<<(ostream& out, const Bilangan& x)
{out<<"Bagian integer: "<<x.a<<endl;
out<<"Bagian float : "<<x.b<<endl;
return out;
}
void Bilangan::banding_int(const Bilangan&x, const Bilangan& y)
{
if(x.a>y.a)cout<<x.a<<"::x lebih besar dari"<<y.a<<"::y";
else cout<<x.a<<"::x lebih kecil dari"<<y.a<<"::y";
}
Bilangan& Bilangan::operator=(const Bilangan& x)
{a=x.a;
b=x.b;
return*this;
}
istream& operator>>(istream& in, Bilangan& x)
{
cout<<"nMasuk bagian integer:";
in>>x.a;
cout<<"Masuk bagian float :";
in>>x.b;
return in;
}
Bilangan Bilangan::operator+(const Bilangan& x)const
{Bilangan cc;
cc.a=a+x.a;
cc.b=b+x.b;
return cc;
}
Bilangan Bilangan::operator-()const
{Bilangan x;
x.a=-a;
x.b=-b;
return x;
}
int main(){
Bilangan s,t(-2,3.14),d;
cout<<"Nilai awal sn"<<s;
cout<<"Nilai awal t dari deklarasin"<<t;
s=t;
cout<<"Setelah s di-assign tn";
cout<<"Nilai sn"<<s;
cout<<"masukan nilai-nilai object d";
cin>>d;
cout<<"setelah d+t=> n"<<d+t;
cout<<"Nilai d dinegatifkann"<<-d;
getch();
}
A. Kelas
class Bilangan{
friend ostream& operator<<(ostream&, const Bilangan&);
friend istream& operator>>(istream&, Bilangan&);
public:
Bilangan(int a0=0,float b0=0.0):a(a0),b(b0){}
void banding_int(const Bilangan&, const Bilangan&);
Bilangan& operator=(const Bilangan&);
Bilangan operator+(const Bilangan&)const;
Bilangan operator-()const;
private:
int a;
float b;
};
B.Konstruktor
Bilangan& operator=(const Bilangan&);
Bilangan operator+(const Bilangan&)const;
Bilangan operator-()const;
C. method
int main(){
Bilangan s,t(-2,3.14),d;
cout<<"Nilai awal sn"<<s;
cout<<"Nilai awal t dari deklarasin"<<t;
s=t;
cout<<"Setelah s di-assign tn";
cout<<"Nilai sn"<<s;
cout<<"masukan nilai-nilai object d";
cin>>d;
cout<<"setelah d+t=> n"<<d+t;
cout<<"Nilai d dinegatifkann"<<-d;
getch();
}
D.data membernya : a dan b bertipe int dan float.
Bilangan(int a0=0,float b0=0.0):a(a0),b(b0){}
E. operator overloading: ada 5 operator. .
ostream& operator<<(ostream& out, const Bilangan& x)
{out<<"Bagian integer: "<<x.a<<endl;
out<<"Bagian float : "<<x.b<<endl;
return out;
}
void Bilangan::banding_int(const Bilangan&x, const Bilangan& y)
{
if(x.a>y.a)cout<<x.a<<"::x lebih besar dari"<<y.a<<"::y";
else cout<<x.a<<"::x lebih kecil dari"<<y.a<<"::y";
}
Bilangan& Bilangan::operator=(const Bilangan& x)
{a=x.a;
b=x.b;
return*this;
}
istream& operator>>(istream& in, Bilangan& x)
{
cout<<"nMasuk bagian integer:";
in>>x.a;
cout<<"Masuk bagian float :";
in>>x.b;
return in;
}
Bilangan Bilangan::operator+(const Bilangan& x)const
{Bilangan cc;
cc.a=a+x.a;
cc.b=b+x.b;
return cc;
}
Mohon komentarnya Kalau ada yang salah. . . :D
seeeeep...
BalasHapuskeren....
keep posting ya...
mantab...
BalasHapus