BILANGAN.H
class Bilangan{
friend ostream& operator<<(ostream&, const Bilangan&);
friend istream& operator>>(istream&, Bilangan&);
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;
}
lanjutkan anak muda,,,,
BalasHapus