apakah over loading sebenarnya? overloading atau overload menurut bahasa adalah kelebihan beban atau menimpa untuk lebih jelasnya mungkin akan saya jelaskan di postingan berikutnya. kali ini saya akan fokus pada workshop yang sudah dikerjakan dan mungkin workshop ini tidaklah lengkap tetapi semoga ini bisa membantu.
1. Buatlah program yang meminta
user memasukkan jam, menit dan detik kemudian menampilkannya dengan format
jam:menit:detik. Deklarasikan jam dan menit berupa integer, sedangkan menit
berupa floating point. Buat masukan dan keluaran menggunakan operator overloading
<< dan >> sesuai yang dikehendaki. a. Buat class waktu, termasuk
operator overloading input dan output class waktu { friend ostream&
operator<<(ostream&, const waktu&); friend istream&
operator>>(istream&, waktu &); public: // berisi methods atau fungsi
private: };
b. Buat implementasi operator
overloading input dan output
c. Buat main function Untuk soal
selanjutnya ulangi langkah-langkah sebagaimana soal nomor 1.
#include <iostream>
using namespace std;
class waktu {
friend ostream& operator <<(ostream& ,waktu&);
friend istream& operator >>(istream& ,waktu&);
public:
waktu();
private:
int jam,menit;
float detik;
};
waktu::waktu(){
cout<<"Program Jam Menit dan Detik :"<<endl;
cout<<endl;
}
istream& operator>>(istream& in, waktu& mlebu){
cout<<"masukan Jam :";
in>>mlebu.jam ;
cout<<"masukan Menit:";
in>>mlebu.menit ;
cout<<"masukan Detik:";
in>>mlebu.detik;
return in;
}
ostream& operator <<(ostream& out, waktu& metu){
cout<<"Keluarannya adalah = ";
out<<metu.jam<<":";
out<<metu.menit<<":";
out<<metu.detik<<"";
return out;
}
int main (){
waktu x;
cin>>x;
cout<<x;
return 0;
}
2. Buatlah program yang meminta user
memasukkan bagian penyebut dan pembilang dari sebuah bilangan rasional
berbentuk p/q. Setiap memasukkan bilangan rasional outputnya berbentuk p/q.
Misalnya, masukan 1 dan 2 maka tampilan outputnya ½.
3. Buatlah program yang meminta
user memasukkan bagian ribuan, ratusan, puluhan dan satuan. Misalnya : 1000,
200, 30, 4. Tampilan yang dikehendaki adalah 1234.
#include <iostream>
using namespace std;
class waktu {
friend ostream& operator <<(ostream& ,waktu&);
friend istream& operator >>(istream& ,waktu&);
public:
waktu();
private:
int ribuan ,ratusan ,puluhan ,satuan;
};
waktu::waktu(){
cout<<"Program Ribuan Ratusan Puluhan satuan :"<<endl;
cout<<endl;
}
istream& operator>>(istream& in, waktu& mlebu){
cout<<"masukan Ribuan :";
in>>mlebu.ribuan ;
cout<<"masukan Ratusan:";
in>>mlebu.ratusan ;
cout<<"masukan Puluhan:";
in>>mlebu.puluhan;
cout<<"masukan Satuan:";
in>>mlebu.satuan;
return in;
}
ostream& operator <<(ostream& out, waktu& metu){
cout<<"Keluarannya adalah = ";
out<<metu.ribuan+metu.ratusan+metu.puluhan+metu.satuan;
return out;
}
int main (){
waktu x;
cin>>x;
cout<<x;
return 0;
}
4. Buatlah program untuk merepresentasikan
operasi-operasi aritmatika : penjumlahan, pengurangan, perkalian dan pembagian.
User diminta memasukkan 2 buah bilangan bulat, kemudian menampilkan sajian
lengkapnya dari semua operasi. Sebagai contoh, user memasukkan 1 dan 2 maka
tampilan outputnya : 1 + 2 = 2 1 – 2 = -1 1 * 2 = 2 1 : 2 = ½
5. Buatlah program untuk
merepresentasikan bilangan bulat menjadi bilangan scientific number berbentuk
1.23E1 untuk menyatakan bilangan 12.3. Masukan bilangan bulat 4 digit, keluaran
berbentuk aEb, dengan a adalah bilangan antara 0 dan 10, sedangkan b dari 0
sampai 4.
#include <iostream>
#include <string>
using namespace std;
class waktu {
friend ostream& operator<<(ostream&, waktu&);
friend istream& operator>>(istream&, waktu&);
public:
waktu();
private:
float bilangan ,a ,b ;
string xyz;
};
waktu::waktu(){
cout<<"test ";
cout<<endl;
}
istream& operator>>(istream& in, waktu& mlebu){
for (int i=0; i<4; i++){
in>>mlebu.bilangan;
if (mlebu.bilangan>999){
mlebu.b=3;
mlebu.a=mlebu.bilangan/1000;
}
else
{
if (mlebu.bilangan>99){
mlebu.b=2;
mlebu.a=mlebu.bilangan/100;
}
else {
if (mlebu.bilangan>9){
mlebu.b=2;
mlebu.a=mlebu.bilangan/10;
}
}
}
}
}
ostream& operator>>(ostream& out, ostream& metu){
cout<<"keluarannya adalah :";
out<<metu.a<<"E"<<metu.b<<endl;
return out;
}
int main (){
waktu x;
cin>>x;
cout<<x;
return 0;
}
0 komentar:
Posting Komentar