Pre Test
1. class Bil_float:public Bilangan{
friend ostream& operator<<(ostream&, const Bil_float&);
public:
Bil_float(int a0=0, int b0=0, float ft='3,14'):Bilangan(a0,b0), c(ft){}
private:
float c;
};
2. Bil_float(int a0=0, int b0=0, float ft='3,14'):Bilangan(a0,b0), c(ft){}
3. ostream& operator<<(ostream& out, const Bil_float& x){
out<<"Bagian integer:"<<x.a<<endl;
out<<"Bagian float:"<<x.b<<endl;
out<<"Bagian float:"<<x.c<<endl;
return out;
}
istream& operator>>(istream& in, Bilangan& x){
cout<<"\nMasukkan bagian integer:";
in>>x.a;
cout<<"Masukkan bagian float:";
in>>x.b;
return in;
}
4. void Bilangan::banding_float(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";
}
Post Test
| #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; |
| } |
| class bil_float:public Bilangan{ |
| friend ostream& operator<<(ostream&, const bil_float&); |
| public: |
| bil_float(int a0=0, int b0=0, float aa=0.0):Bilangan(a0,b0),c(aa){} |
| void banding_float(const bil_float&, const bil_float&); |
| 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; |
| out<<"Bilangan float: "<<x.c<<endl; |
| return out; |
| } |
| void bil_float::banding_float(const bil_float& x, const bil_float& y){ |
| if(x.a>y.b)cout<<x.a<<"::x lebih besar dari"<<y.a<<"::y"; |
| else cout<<x.a<<"::x lebih kecil dari"<<y.a<<"::y"; |
| } |
| int main(int argc, char *argv[]) |
| { |
| 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; |
| bil_float bf; |
| cout<<"Nilai float\n"<<bf; |
| system("PAUSE"); |
| return EXIT_SUCCESS; |
| } |
Tidak ada komentar:
Posting Komentar