1. Kelas turunan Bil_Float Mempunyai satu data member berTipe float...
#include "bilangan.h"
class Bil_float:public Bilangan{
friend ostream & operator<<(ostream&, const Bil_float&);
public:
Bil_float(int aO=O, int bO=O, float cO=O.O):Bilangan (aO,bO),c(cO){}
protected:
float c;
};
2.Konstruktor dari Kelas Bil_float
Bil_float(int aO=O, int bO=O, float cO=O.O):Bilangan (aO,bO),c(cO){}
3.overloading inputnya
istream&operator(istream& in, Bil_float& x){
cout<<"nMasukkan bagian Integer a:";
in>>x.a;
cout<<"Masukkan Bagian Integer b:";
in>>x.b;
cout<<"Masukkan bagian float:";
cin>>x.c;
return in;
}
Overloading Outputnya
ostream&operator<<(ostream& out, const Bil_float& x){
out<<"bagian Integer a:"<<x.a<<endl;
out<<"bagian Integer b:"<<x.b<<endl;
out<<"bagian float c:"<<x.c<<endl;
return out;
}
Program Post Testnya. . .
#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(){
Bilangan s,t(-2,3.14),d;
cout<<"Nilai awal sn"<<s; //operator biner << output
cout<<"Nilai awal t dari deklarasin"<<t;
s=t; //operator biner =
cout<<"Setelah s di-assaign tn";
cout<<"Nilai sn"<<s;
cout<<"Masukkan nilai-nilai objek d";
cin>>d; //operator >> input
cout<<"Setelah d + t => n"<<d+t; //operator biner +
cout<<"Nilai d dinegatifkann"<<-d; //operator uner -
Bil_char ss;
cout<<"Nilai awal ssn"<<ss; //operator biner << output
system("PAUSE");
return EXIT_SUCCESS;
}
Tidak ada komentar:
Posting Komentar