Selasa, 13 Maret 2018

POSTES 2

Overloading

Overloading adalah pengganti perintah dengan konstruktor

lansung contoh lur 
 
#include<iostream>
using namespace std;
class lingkaran{
friend ostream& operator<< (ostream& , lingkaran&);
friend istream& operator>> (istream& , lingkaran&);

public:
lingkaran(){
r=0;
phi=3.14;
l=0;
}
float luas(){
l=phi*r*r;
return l;
}
private:
int r;
float phi,l;


};

ostream& operator << (ostream& makan, lingkaran& lingk){
makan << "r = "<<lingk.r<<endl;
makan << "luas adalah "<<lingk.luas()<<endl;
}
istream& operator >> (istream& minum, lingkaran& aran){
cout << "masukkan r = " ;
minum >> aran.r;
return minum;
}

class tabung{
friend ostream& operator << (ostream& , tabung&);
friend istream& operator >> (istream& , tabung&);

public:
tabung(){
r=0;
t=0;
phi=3.14;
l=0;
}
float luaspermtab(){
l=(2*phi*r*r)+(2*phi*r*t);
return l;
}
private:
int r;
int t;
float phi;
float l;
};

ostream& operator <<(ostream& keluar, tabung&tab){

keluar << "luas permukaan tabung " <<tab.luaspermtab()<<endl;
}
istream& operator >> (istream& masuk , tabung&ung){
cout << "masukkan r = ";
masuk>>ung.r;
cout << "masukkan t = ";
masuk>>ung.t;
}

int main(){
lingkaran x;
tabung y;
cin>>x;
cout<<x;
cout<<"-------------------------------------------------------------"<<endl;
cin>>y;
cout<<y;

}
Share:

1 komentar: