Praktikum III S.data ,Rabu 13 Oktober 2010 07.30-09.00

#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<<“\nMasukkan bagian integer: “;
in>>x.a;
cout<<“Masukkan 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;
}

class bil_char:public bilangan{
friend ostream& operator<<(ostream&, const bil_char&);
public:
bil_char(int a0=0, int b0=0,char ch=’x’):bilangan(a0,b0),c(ch){}
private:
char c;
};

ostream& operator<<(ostream& out,const bil_char& x){
out<<“Bagian integer: “<<x.a<<endl;
out<<“Bagian float: “<<x.b<<endl;
out<<“Bagian char: “<<x.c<<endl;
return out;
}

int main(int argc, char *argv[])
{
cout<<“ARI LISTIYANTI\n09018256\n\n”;
bilangan s,t(-2,3.14),d;
cout<<“Nilai awal s\n”<<s;
cout<<“Nilai awal t dari deklarasi\n”<<t;
s=t;
cout<<“Setelah diassign t\n”;
cout<<“Nilai s\n”<<s;
cout<<“Masukkan nilai-nilai objek d”;
cin>>d;
cout<<“Setelah d+t=>\n”<<d+t;
cout<<“Nilai d dinegatifkan\n”<<-d;
bil_char ss;
cout<<“Nilai awal ss\n”<<ss;

system(“PAUSE”);
return EXIT_SUCCESS;
}