#include <cstdlib>
#include <iostream>
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;
protected:
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<<”\nMmasukan bagian integer :”;
in>>x.a;
cout<<”Masukan 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;
}
2.class bil.float
#include “bilangan.h”
class Bil_float : public Bilangan{
friend ostream& operator<<(ostream&, const Bil_float&);
public:
Bil_float(int a0=0, int b0=0, float ch=’x')
:Bilangan(a0,b0),c(ch){}
private :
float c;
};
ostream& operator<<(ostream& out, const Bil_float& x)
{
out<<”bagian integer :”<<x.a<<endl;
out<<”Bagian float :”<<x.b<<endl;
out<<”bagian char :”<<x.c<<endl;
return out;
}
3.turunan
#include<iostream>
#include “bilfloat.h”
using namespase;
int main(){
Bilangan s,t(-2,3.14),d;
cout<<”Nilai awal s\n”<<s; //operator biner output
cout<<”nilai awal t dari deklarasi\n”<<t;
s=t;
cout<<”Setelah s di-assign t\n”;
cout<<”Nilai s\n”<<s;
cout<<”Masukan nilai-nilai objek d”;
cin>>d; //operator input
cout<<”Setelah d + t => \n”<<d+t; //operator biner
cout<<”Nilai d dingatifkan\n”<<-d; //operator uner -
Bil_char ss;
cout<<”Nilai awal ss\n”<<ss;
system(“PAUSE”);
return 0;
} ;
0 komentar:
Posting Komentar