Selasa, 12 Oktober 2010

Praktikum ke 3

 INHERITANCE dalam C++



BILANGAN.H
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 Bilanagan&) 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<<"\nMasukan 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;
}
BILCHAR.H
#include"bilangan.h"
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;
                              }
Turunan.cpp
#include<iostream.h>
#include "bilchar.h"
void 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 << "Masukan nilai nilai objeck 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;
     }

1 komentar: