INTHERIACE DALAM C++ (Bil_Float)

Minggu, 10 Oktober 2010

#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<<"\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;
      }
     
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(){
      
           system("color 1a");
           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 s di-assign t\n";
           cout<<"Nilai s\n"<<s;
           cout<<"masukan nilai-nilai object 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;
           }

Tidak ada komentar:

Posting Komentar