OPERATOR OVERLOADING The ability to provide the operators with a special meaning for a data type but its original meaning is not lost. Example: Operator.

Slides:



Advertisements
Presentasi serupa
 public static void main(String[] args) {  int bil1=3;  do {  System.out.print(bil1+",");  bil1=bil1+4;  }  while(bil1
Advertisements

OPERATOR DAN UNGKAPAN.
SMK TI BALI GLOBAL DENPASAR
Fungsi Friend Dalam bahasa C++ kita dapat membuat suatu fungsi yang berada di luar kelas (class) dan dapat meng-ak-ses bagian private suatu kelas. Fungsi.
STRUKTUR KONTROL PERCABANGAN DAN STRUKTUR KONTROL LOMPATAN
BAB V – KONSTRUKTOR DAN DESTRUKTOR
Pemrograman Berbasis Objek
BAB III – CLASS (1) DIKTAT PBO Oleh: Adam Mukharil B. S.Kom.
ARRAY (Lanjutan).
Lecture 2 Introduction to C# - Object Oriented Sandy Ardianto & Erick Pranata © Sekolah Tinggi Teknik Surabaya 1.
Struktur.
Function.
PENGENALAN c++ DAN STRUKTUR DASAR C++
Pemrograman Berbasis Obyek
Person 12: Korinus gefilem Muh.eka.paputungan :Dosen: Ir. Hassanudin sirait,MT Person 12: Korinus gefilem Muh.eka.paputungan :Dosen: Ir. Hassanudin sirait,MT.
Review :: Kisi-kisi UTS ::
Class.
Pemrograman Berorientasi Obyek
Pointer Memory Dinamic.
Operator Bahasa C++, Manipulasi String
Fungsi.
Dasar Pemrograman Java Nana Ramadijanti Laboratorium Computer Vision Politeknik Elekltronika Negeri Surabaya PENS-ITS 2008.
Pointer Dr. Lily Wulandari.
Enkapsulasi Pemrograman Berorientasi Obyek Oleh Tita Karlita.
#include //bagian modul int hitung(x,y) { return(x+y); } //bagian utama main() { int jumlah,a,b; a=8; b=2; jumlah=hitung(a,b); cout
1 Pertemuan 14 Operator Overloading Matakuliah: T0456 ~ Algoritma dan Metode Object Oriented Programming Tahun: 2005 Versi: 5.
Operator Overloading Pertemuan 20 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007.
1 Pertemuan 4 ELEMEN DASAR C++ Matakuliah: T0456 ~ Algoritma dan Metode Object Oriented Programming Tahun: 2005 Versi: 5.
Class and Object Introduction Specifying a Class Defining Member Function A C++ Program with Class Nesting of Member Functions Private Member Functions.
Friend. Adalah fungsi bukan anggota kelas yg dapat mengakses anggota kelas. Secara umum friend berguna jika terdapat suatu operasi yg hendak mengakses.
1 Pertemuan 6 Encapsulation Lanjutan Matakuliah: T0044/Pemrograman Berorientasi Obyek Tahun: 2005 Versi: 1.0.
Teknik Pemrograman Terstruktur Linked lis & Inheritance 1/12 Pointer (Lanjutan…) Pemrograman Berorientasi Objek.
Fungsi Fungsi (Sub Program) :
Pemrograman Web Dasar Pertemuan 9 PHP Constants, PHP Variables, PHP Data Type, PHP Strings, PHP Operator.
Pemrograman Berorientasi Obyek1 Sub Pokok Bahasan Pointer. Reference. Function Passing Parameter by Value, by Reference, by Pointer.
Algoritma dan Pemrograman 2C
Operator Unary Operator Ternary
Bab 05 Tipe Data dan Mengisi Variabel
FUNCTIONS Pertemuan 9 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007.
1 Pertemuan 17 Polymorphism Matakuliah: T0456 ~ Algoritma dan Metode Object Oriented Programming Tahun: 2005 Versi: 5.
PERTEMUAN KE-9 IFII SAINTEC UIN SGD. FUNCTION (FUNGSI) Function (fungsi) adalah kumpulan pernyataan/statement yang diberi nama, dimana nama tersebut dapat.
1 Pertemuan 9 Inheritance Matakuliah: T0044/Pemrograman Berorientasi Obyek Tahun: 2005 Versi: 1.0.
1 Pertemuan 2 Function & Pointer Matakuliah: T0044/Pemrograman Berorientasi Obyek Tahun: 2005 Versi: 1.0.
Teknik Pemrog. Terstruktur 2
PEMROGRAMAN SISTEM PERNYATAAN DASAR FUNGSI Pertemuan VI
Teknik Pemrog. Terstuktur 2
METHOD, ARRAY DAN STRING
Pemrograman Berorientasi Obyek1 Sub Pokok Bahasan Nested Object. Friend Keyword. Pointer This. Operator Overloading.
Fungsi, Array dan String
1 Pertemuan 3 SINTAKS BAHASA, TIPE DATA, DAN OPERATOR (LANJUTAN) Matakuliah: M0074/PROGRAMMING II Tahun: 2005 Versi: 1/0.
1 Pertemuan 12 Template Matakuliah: T0044/Pemrograman Berorientasi Obyek Tahun: 2005 Versi: 1.0.
OPERATOR DAN FUNGSI MATEMATIK. Operator  Assignment operator Assignment operator (operator pengerjaan) menggunakan simbol titik dua diikuti oleh tanda.
Pemrograman Berbasis Objek Johannes Simatupang, MKom, Cobit5 NIDN : Pertemuan-4 Versi
MIKROKONTROLLER 1 SESI 4 BASIC C.
Inheritance (2).
Pertemuan 2 SINTAKS BAHASA, TIPE DATA, DAN OPERATOR
Person 8.
Polymorphism Pertemuan 23-24
Constructor overloading
Operator overloading.
C++ static.
Pemrograman Berorientsi Objek Pertemuan 15
Method (Metode).
Fungsi Friend Dalam bahasa C++ kita dapat membuat suatu fungsi yang berada di luar kelas (class) dan dapat meng-ak-ses bagian private suatu kelas. Fungsi.
Inheritance lanjutan Pertemuan 22
Class.
PERBEDAAN C DAN C++ Meriska Defriani, S
Operator dan Assignment
Teknik Pemrog. Terstuktur 2
Teknik Pemrog. Terstruktur 2
Transcript presentasi:

OPERATOR OVERLOADING The ability to provide the operators with a special meaning for a data type but its original meaning is not lost. Example: Operator + can be overloaded to add two vectors, two strings and can still be used to add two integers. Syntax definition: return_type class_name :: operator op (arg_list) {function_body//task defined } Operator function is member functions or friend functions.

Example Declarations Vector addition: vector operator + (vector); Friend Vector addition : friend vector operator + (vector, vector); Unary minus: vector operator – (); Friend Unary minus: friend vector operator – (vector); Subtraction: vector operator – (vector &a); Comparison: int operator == (vector); Friend Comparison: friend int operator == (vector, vector);

//overloading unary operators #include class space {int x; int y; int z; public :void getdata(int a, int b, int c) { x=a; y=b; z=c; }; void display(void) { cout << “\n” << x << “ “ << y << “ “ << z << “\n”; } void operator – ()//operator overloading { x=-x; y=-y; z=-z; } }; void main() {space S; S.getdata(10, -20, 30); cout<<“S : “;S.display(); -S;//activate operator – () cout<<“S : “;S.display(); }

//overloading binary operators #include class complex {float x; float y; public :complex() {}; void complex(float real, float imaginer) { x=real; y=imaginer; }; void display(void) { cout << x << “ + “ << y <<“ i \n”; }; complex operator + (complex c)//operator overloading { complex temp; temp.x = x + c.x; temp.y = y + c.y; return (temp); }; void main() {complex c1(2.5, 6.1), c2(3.3, 4.5), c3; c3 = c1 + c2;//invokes operator + () cout <<“\nc1 = “; c1.display();cout <<“\nc2 = “; c2.display(); cout <<“\nc3 = “; c3.display(); }

Overloading function Method overloading digunakan untuk membuat beberapa fungsi (method) dengan nama yang SAMA dan mengerjakan tugas yang MIRIP. Tujuannya, agar programmer tidak kesulitan dalam mengingat sebuah fungsi yang tugasnya mirip. Misalnya untuk membuat fungsi perkalian. Ada perkalian yang membutuhkan dua argumen dan ada perkalian yang membutuhkan tiga argumen (tugasnya mirip, yaitu sama-sama mengalikan argumen, hanya jumlah argumen yang berbeda).

Overloading function Kalau dibuat fungsi dengan nama yang berbeda, kemungkinan programmer akan repot. Contoh, untuk fungsi perkalian dengan dua argumen, namanya adalah kali1(bil1, bil2). Sedangkan untuk perkalian dengan tiga argumen namanya adalah kali2(bil1, bil2, bil3). Repot kan? Gimana kalo ada sepuluh perkalian? Bandingkan bila namanya kali(bil1, bil2) dan kali(bil1, bil2, bil3). Kita cuma perlu mengingat jumlah argumen dari fungsi kali.

Overloading function So, gimana cara compiler C++ membedakan method tersebut, padahal namanya sama? Compiler C++ memilih fungsi dengan mengamati jumlah, tipe data dan urutan argumen. Dari sini jelas bahwa compiler menggunakan daftar parameter untuk membedakan fungsi dengan nama yang sama. Bukan membedakan dengan return type-nya (nilai balik).

Overloading function untuk membuat method overloading diperlukan setidaknya satu dari tiga syarat di bawah ini: mempunyai jumlah argumen berbeda. mempunyai tipe data argumen yang berbeda. mempunyai urutan argumen yang berbeda.