C++ Dersi: Nesne Tabanlı Programlama 2. Baskı

Benzer belgeler
C++ Dersi: Nesne Tabanlı Programlama

DİZİLER-KATARLAR ALGORİTMA VE PROGRAMLAMA II

C++ Dersi: Nesne Tabanlı Programlama

C++ Dersi: Nesne Tabanlı Programlama

C++ Dersi: Nesne Tabanlı Programlama

HSancak Nesne Tabanlı Programlama I Ders Notları

Nesneye Yönelik Programlama (OOP) 7.Hafta

C++ Dersi: Nesne Tabanlı Programlama

enum bolumler{elektronik, insaat, bilgisayar, makine, gida};

C++ Dersi: Nesne Tabanlı Programlama

C++ Dersi: Nesne Tabanlı Programlama 2. Baskı

NESNEYE YÖNELİK PROGRAMLAMA

Veri Yapıları. Amaçlar: Temel Veri Yapılarını Tanımlamalı Veri Yapılarını Veri Modeli ve Türlerini Öğreneceksiniz. İçindekiler:

C++ Dersi: Nesne Tabanlı Programlama

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

BİLG Dr. Mustafa T. Babagil 1

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

YAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ. 3. Hafta

C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak: Published by Juan Soulié

Operator Aşırı Yükleme (Operator OverLoading)

Pointer Kavramı. Veri Yapıları

NESNEYE YÖNELİK PROGRAMLAMA C++ a Giriş

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 7. Bölüm Metot Tanımlama ve Kullanma

BTEP243 Ders 3. class Yazım Kuralı:

NESNEYE YÖNELİK PROGRAMLAMA

Göstericiler (Pointers)

C++ Dersi: Nesne Tabanlı Programlama

Bölüm 7. İfadeler ve atamalar ISBN

NESNEYE YÖNELİK PROGRAMLAMA SINIFLAR

Örnek 4: Örnek Özyinelemeli fonksiyon örneği Bölüm 9. C++ programlama dilinde Nesne ve sınıf

Pointers (İşaretçiler)

1 PROGRAMLAMAYA GİRİŞ

PROGRAMLAMAYA GİRİŞ DERS 2

BÖLÜM 11: YAPISAL VERİ TİPLERİ

BMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1

Temel Bilgisayar Bilimleri Ders Notu #4-2. kısım

C++ ile Nesneye Dayalı Programlama

Operatörlere İşlev Yükleme

Algoritma ve Programlama II Recursive Fonksiyonlar Dosyalama

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1

ALGORİTMA VE PROGRAMLAMA II

C++ Dersi: Nesne Tabanlı Programlama

Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır.

İfadeler bir programlama dilinde hesaplamaları belirtmede temel araçtır. İfadelerin değerlendirmesini anlamak için,

Nesne İşaretçileri. Binnur Kurt Bilgisayar Mühendisliği Bölümü İstanbul Teknik Üniversitesi. Sınıf Yapısı. Kalıtım Çok Şekillilik

Dizi nin Önemi. Telefon rehberindeki numaralar, haftanın günleri gibi v.b.

Yrd. Doç. Dr. Caner ÖZCAN

10. DOSYA GİRİŞ ÇIKIŞ FONKSİYONLARI

C#(Sharp) Programlama Dili

C Programlama Dilininin Basit Yapıları

Operatörlere Yeni İşlevler Yüklenmesi (Operator Overloading)

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ Published by Juan Soulié

Programlama Dilleri. C Dili. Programlama Dilleri-ders08/ 1

BLM 112- Programlama Dilleri II. Hafta 4 İşaretçiler (Pointers)

NESNEYE YÖNELİK PROGRAMLAMA

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD

HSancak Nesne Tabanlı Programlama I Ders Notları

Sunum İçeriği. Programlamaya Giriş

C PROGRAMLAMA DİLİNE GİRİŞ

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Operatörlerin Aşırı Yüklenmesi

C++ Operatörler (Operators)

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

Dekleratif Programlama. Örnek : Aile Ağacı. SWI-Prolog. Prolog Dekleratif programlama dili

Karakter katarları ile ilgili fonksiyonlar içerir Yerel kayan noktalı sayılar tanımlanır

Nesne Tabanlı Programlama

Fonksiyonlar (Altprogram)

YZM 2105 Nesneye Yönelik Programlama

DERSİN WEB SİTESİ:

GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI. ENF102 Jeoloji 1. #include <stdio.h> printf Fonksiyonu ÖRNEK. printf

NESNE TABANLI PROGRAMLAMA Final Sınavı Cevapları

NESNE MODELLERİ : SINIFLAR

ANA SINIF TÜRETİLEN BİRİNCİ SINIF TÜRETİLEN İKİNCİ SINIF

8. İŞARETCİLER (POINTERS)

Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak.

Temel Bilgisayar Bilimleri Ders Notu #4-1. kısım

Programlama Dilleri 1. Ders 4: Diziler

Değişkenler tanımlanırken onlara ne tür veriler atanabileceği de belirtilir. Temel veri türleri oldukça azdır:

NESNEYE YÖNELİK PROGRAMLAMA THIS İŞARETÇİSİ, KOPYA YAPICI FONKSİYON, STATİK ELEMANLAR, ARKADAŞ SINIF VE FONKSİYONLAR,NESNE DİZİLERİ

Konular. Hafta 5 Veri Tipleri (Devam) BLG339 PROGRAMLAMA DİLLERİ KAVRAMI

MTK467 Nesneye Yönelik Programlama. Hafta 4 - Döngüler Zümra Kavafoğlu

Yrd. Doç. Dr. Caner ÖZCAN

Ders 8: Metotlar. barisgokce.com

YZM 2105 Nesneye Yönelik Programlama

11- FONKSİYONLAR (FUNCTIONS)

PASCAL PROGRAMLAMA DİLİ YAPISI

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER,

KONTROL VE OTOMASYON KULÜBÜ

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN

Genel Programlama II

Nesne Yönelimli Programlama

ALGORİTMA VE PROGRAMLAMA I

YZM 2105 Nesneye Yönelik Programlama

C PROGRAMLAMA D İ L İ

Dr. Fatih AY Tel: fatihay@fatihay.net

Kurucu Fonksiyonlar (Constructors)

ELN1001 BİLGİSAYAR PROGRAMLAMA I

enum, struct, union ve typedef Yapıları

Bölüm 7. Deyimler ve Atama ifadeleri ISBN

Transkript:

C++ Dersi: Nesne Tabanlı Programlama 2. Baskı ³ Bölüm 12: Operatör Yükleme

İçerik 12.1 Operatör Yükleme Fonksiyon Tanımı 12.2 Üye Olmayan Fonksiyonlar 12.3 Operatör Yüklemede Arkadas Fonksiyon Kullanımı 12.4 Girdi/ÇıkN Operatörlerine Anlam Yükleme 12.5 Operatör Yükleme Yapılan Operatörlere Örnekler Çözümlü Sorular 2

Hedefler Operatör yükleme kavramını anlatma Operatör yükleme fonksiyon tanımı yapma Üye ve üye olmayan fonksiyonlar arasındaki farkı anlatma Üye olmayan fonksiyon tanımı yapma Operator yükleme fonksiyonlarını arkadas fonksiyonları olarak tanımlama Bir nesne için girdi ve çıkn operatörlerine yükleme yapma 3

Operatör Yükleme İng. Operator Overloading Programlama dillerinin temel yapılarında bir çok operatör yer almakır. MatemaYksel operatörler (+,-,/,* vb.), ManNksal operatörler (!,, &&, vb.), İlişkisel operatörler(<,>, == vb.), vb. Operatörlerin farklı kullanım amaçları ile yeniden tanımlanması işlemidir 4

12.1 Operatör Yükleme Fonksiyon Tanımı Operatör yükleme işlemini gerçekleşyrmek için söz konusu operatörler sınıf içerisinde yeniden tanımlanır Operatörler tanımı operatör fonksiyonları ile yapılır 5

12.1 Operatör Yükleme Fonksiyon Tanımı... Örnek 6

12.1 Operatör Yükleme Fonksiyon Tanımı... 7

12.1 Operatör Yükleme Fonksiyon Tanımı... 8

12.1 Operatör Yükleme Fonksiyon Tanımı... 9

12.1 Operatör Yükleme Fonksiyon Tanımı... 10

12.1 Operatör Yükleme Fonksiyon Tanımı... 11

12.1 Operatör Yükleme Fonksiyon Tanımı... Operatör yükleme işleminde bazı kısıtlamalara dikkat etmemiz gerekir. Operatörlerin standart veri Ypleri (int, float, char, vb.) ile kullanımlarındaki anlamları yeniden tanımlanamaz Yeni anlam kazandırma işlemi sadece C++ programlama dilinde hali hazırda tanımlı olan operatörler için yapılabilir Yeni operatör tanımı yapılamaz. Operatörlerin türleri değişyrilemez # ve ## gibi önişlemci (preprocessor) sembollerine de yükleme yapılamaz 12

12.1 Operatör Yükleme Fonksiyon Tanımı... Operatör yükleme işleminde bazı kısıtlamalara dikkat etmemiz gerekir... Operatör yükleme işlemi aşağıdaki operatörlere uygulanamaz 13

12.2 Üye Olmayan Fonksiyonlar Operatör fonksiyonlar, üye fonksiyon ve üye olmayan fonksiyonlar olarak tanımlanabilir. Bazı durumlarda operatör fonksiyonun üye fonksiyon olarak tanımlanması mümkün olmayabilir. Derleyici açısından üye ve üye olmayan fonksiyonları, operatör yükleme işleminde farklı yorumlar Nokta n1(1,1), n2(4,4); n2 = n2 + 10; n2 = 10 + n2; 14

12.2 Üye Olmayan Fonksiyonlar... Eğer operator+ üye fonksiyon olarak tanımlanmışsa, derleyici aşağıdaki şekilde yorumlar n2.operator+(10) 10.operator+(10) //geçersiz, fonksiyon ancak nesne üzerinden çağrılır Eğer operator+ üye olmayan fonksiyon olarak tanımlanmışsa, derleyici aşağıdaki şekilde yorumlayacaknr operator+(n2,10) operator+(10,10) 15

12.2 Üye Olmayan Fonksiyonlar... Üye olmayan fonksiyon tanımı yapıldığında dikkat edilmesi gereken bir nokta vardır. Üye olmayan fonksiyonlar, ilgili sınıpn private üyelerine erişemeyeceği için bu üyeler için erişimci fonksiyon tanımlarının yapılması gereklidir. 16

12.2 Üye Olmayan Fonksiyonlar... 17

12.2 Üye Olmayan Fonksiyonlar... 18

12.3 Öperatör Yüklemede Arkadaş Fonksiyon Kullanımı Üye olmayan fonksiyonların bir sınıpn private üyelerine doğrudan erişmesini friend fonksiyonlarla olur Erişimci fonksiyonların eklenmesine gerek kalmaz 19

12.3 Öperatör Yüklemede Arkadaş Fonksiyon Kullanımı... 20

12.3 Öperatör Yüklemede Arkadaş Fonksiyon Kullanımı... 21

12.3 Öperatör Yüklemede Arkadaş Fonksiyon Kullanımı... 22

12.4 Girdi/ÇıkL Operatörlerine Anlam Yükleme Temel girdi/çıkn işlemleri >> ve << operatörleri ile gerçekleşyrilir. Temel veri Ypindeki değişkenler cout ve cin ile kullanılabilir int x = 5; cout<<x; cin>>x Ancak bir nesne cout ve cin ile doğrudan kullanılamaz Nokta n; cout<<n; cin>>n; Bunu sağlamak için operatör<< ve operatör>> yükleme fonksiyonlarının tanımlanması gerekir. 23

12.4 Girdi/ÇıkL Operatörlerine Anlam Yükleme... 24

12.4 Girdi/ÇıkL Operatörlerine Anlam Yükleme... 25

12.5 Operatör Yükleme Yapılan Operatörler e Örnekler 26

12.5 Operatör Yükleme Yapılan Operatörler e Örnekler 27

12.5 Operatör Yükleme Yapılan Operatörler e Örnekler 28

12.5 Operatör Yükleme Yapılan Operatörler e Örnekler 29

12.5 Operatör Yükleme Yapılan Operatörler e Örnekler 30

Çözümlü Sorular Soru 31

Çözümlü Sorular Cevap 32

Çözümlü Sorular Cevap 33

Çözümlü Sorular Soru 34

Çözümlü Sorular Cevap 35

Çözümlü Sorular Cevap 36