bahan kuliah algor2-pertemuan 4
TRANSCRIPT
-
8/18/2019 Bahan Kuliah Algor2-Pertemuan 4
1/16
Algoritma &Pemrograman 2
Operator Overloading
-
8/18/2019 Bahan Kuliah Algor2-Pertemuan 4
2/16
Pengantar Overloading
Jika terdapat ekspresi aritmetika seperti 2 + 4 yang merupakan penjumlahan bilangan bulat 2(operand) dengan 4 (operand) yang akan
menghasilkan 6. Bagaimana apabila kedua operand tersebut adalah
sekotak apel dan sekotak jeruk Berapa hasil penjumlahan kedua objek tersebut
-
8/18/2019 Bahan Kuliah Algor2-Pertemuan 4
3/16
OPERATOR OVERLOADING
!emungkinkan penulisan suatu "ungsi yangmende"inisikan kembali suatu operatorstandar sehingga operator tersebut
memiliki "ungsi # kegunaan yg sama (ataudapat berbeda) seperti operator standar.
-
8/18/2019 Bahan Kuliah Algor2-Pertemuan 4
4/16
OPERATOR OVERLOADING
Sehingga, hasil penjumlahan antara objek
sekotak apel dan sekotak jeruk dgn
menggunakan operator overloading “+”
adalah tergantung dari definisi yg ditetapkan. yaitu kegunaan dan fungsi dari operator
overloading “+” tersebut.
-
8/18/2019 Bahan Kuliah Algor2-Pertemuan 4
5/16
Tujuan Overloading
!emudahkan operasi terhadap data$khususnya yg melibatkan objek.
penggunaan overloading operator yg tidakla%im harus dihindari.
!isalnya$ jangan menggunakan tandaoperator &' untuk menyatakan operasi
penjumlahan$ krn dpt menyebabkan salahpemahaman.
-
8/18/2019 Bahan Kuliah Algor2-Pertemuan 4
6/16
Non Overloading
da beberapa operator standar yang tidakdapat dijadikan operator overloading$ diantaranya* Operator jangkauan resolusi ** Operator kondisi * Operator si%eo" si%eo" Operator seleksi seara langsung . Operator seleksi pointer ke anggota lass .,
-
8/18/2019 Bahan Kuliah Algor2-Pertemuan 4
7/16
Bentuk umum overloadingterhada oerator
tipe operator simbol_operator (kelas obyek)
-
8/18/2019 Bahan Kuliah Algor2-Pertemuan 4
8/16
!ontoh Oerator Overloading
1. #include
2. #include
3. class Buah
4.
!. pri"ate int apel$%. int &eruk$
'. public
. Buah (int &um_apel *+ int &um_&eruk *)$
,. "oid in-o_Buah()$1*. Buah operator (Buah b2)$
11. /$
-
8/18/2019 Bahan Kuliah Algor2-Pertemuan 4
9/16
!ontoh Oerator Overloading
12. BuahBuah(int &um_apel+int &um_&eruk)
13.
14. apel &um_apel$
1!. &eruk &um_&eruk$
1%. /
1'. "oid Buahin-o_Buah()
1.
1,. cout
-
8/18/2019 Bahan Kuliah Algor2-Pertemuan 4
10/16
!ontoh Oerator Overloading
22.Buah Buahoperator (Buah b2)
23.
24. Buah tmp$ obyek sementara
2!. tmp.apel apel b2.apel$
2%. tmp.&eruk &eruk b2.&eruk$
2'. return (tmp)$
2./
-
8/18/2019 Bahan Kuliah Algor2-Pertemuan 4
11/16
!ontoh Oerator Overloading
2,. "oid main()
3*. 31. Buah buah1(2*+!)$
32. Buah buah2(12+4)$
33. Buah buah3$
34. buah3 buah1 buah2$
3!. cout
-
8/18/2019 Bahan Kuliah Algor2-Pertemuan 4
12/16
Overloading thd" Oerator#nar$ Operator -nary* Operator yg melibatkan operand saja. Ber"ungsi u/ menambahkan atau mengurangkan
nilai dari suatu variabel. 0ontoh Operator -nary* &++
&''
-
8/18/2019 Bahan Kuliah Algor2-Pertemuan 4
13/16
!ontoh Overloading Oerator #nar$
1. #include
2. #include
3. class Buah
4.
!. pri"ate
%. int apel$'. int &eruk$
. public
,. Buah(int &um_apel *+ int &um_&eruk*)$
1*. "oid in-o_Buah()$
11. "oid operator ()$
12. "oid operator ()$
13. /$
-
8/18/2019 Bahan Kuliah Algor2-Pertemuan 4
14/16
!ontoh Overloading Oerator #nar$
14. BuahBuah(int &um_apel+ int &um_&eruk)
1!.
1%. apel &um_apel$
1'. &eruk &um_&eruk$
1. /
1,. "oid Buahin-o_Buah()
2*.
21. cout
-
8/18/2019 Bahan Kuliah Algor2-Pertemuan 4
15/16
!ontoh Overloading Oerator #nar$
24. "oid Buah operator ()
2!.
2%. apel$
2'. &eruk$
2. /
2,. "oid Buah operator ()
3*.
31. apel$
32. &eruk$
33. /
-
8/18/2019 Bahan Kuliah Algor2-Pertemuan 4
16/16
!ontoh Overloading Oerator #nar$
34. "oid main()
3!.
3%. Buah paket (2*+!)$
3'. cout