C++ Programlama Dili Yapısal Programlama, Nesnelerle Programlama ve Jenerik Programlama Prof. Dr. Mustafa Dikici  - Kitap

C++ Programlama Dili

Yapısal Programlama, Nesnelerle Programlama ve Jenerik Programlama

2. Baskı, 
Temmuz 2012
Kitabın Detayları
Dili:
Türkçe
Ebat:
16x24
Sayfa:
448
Barkod:
9789750220074
Kapak Türü:
Karton Kapaklı
Kitabın Fiyatı:
415,00
İndirimli (%92):
35,00
Stoktan hemen gönderilir.
Diğer Baskılar
4. baskı Yeni Baskı
Şubat 2022
625,00
625,00 (%0)
Kitabın Açıklaması
Gözden geçirilmiş ve genişletilmiş 2. baskısını yapan kitap, ilk baskının ardından yazara gelen istek/eleştiri/öneriler dikkate alınarak yeniden gözden geçirilmiş, tespit edilen yanlışlar ve yazma hataları düzeltilmiş ve kitap yeniden hazırlanmıştır.
Yıllarca bilgisayar konusunda ders verdikten sonra, bu konudaki deneyim ve tecrübelerini kaleme alan yazar yeni başlayanların ve öğrencilerin kolaylıkla anlayacağı ve yararlanacağı bir kitap hazırlamıştır.
Kitap, Geleneksel Prosedürsel Programlama (Traditional Procedural Programming). Yapısal Programlama (Structural Programming), Nesnelerle Programlama (Object–Oriented Programming) ve Jenerik Programlama yöntemleri kullanılarak, konunun özümsenerek öğrenilmesine olanak sağlayacak şekilde ve bol örnekli olarak hazırlanmıştır.
Kitabın Konu Başlıkları
.
C++ Programlama Dili
.
Basit Veri Tipleri
.
Seçme ve Döngü
.
Yapısal Veri Tipleri
.
Fonksiyonlar
.
Sınıf Veri Tipi, Nesne ve Kalıtım Gösterici Veri Tipi
.
Akış ve Dosya
.
Şablonlar
.
Standart Şablon Kütüphanesi
.
İşlemcilerin Öncelik Sıraları
.
Algoritma Tabloları
Kitabın İçindekileri
Önsöz 
BİRİNCİ BÖLÜM GİRİŞ
1. GİRİŞ 
1.1. BAŞLARKEN 
1.1.1. Anlatım 
1.2. UYARILAR VE AÇIKLAMALAR 
1.2.1. Kitap Hakkında Uyarılar 
1.2.2. Kitap Hakkında Açıklamalar 
1.2.3. Kitabın Yazılış Tarzı 
1.2.4. Yapılmaması Gerekenler 
1.3. PROGRAMLAMA DİLLERİ 
1.3.1. İlk Programlama Dilleri 
1.3.2. İkinci Nesil Diller 
1.3.3. Üçüncü Nesil Diller 
1.3.3.1. Genel Amaçlı Yüksek Düzeyli Diller 
1.3.3.2. Nesnelerle Programlama Yapan Yüksek Düzeyli Diller 
1.3.4. Dördüncü Nesil Diller 
1.3.5. Zamanımıza Kadar C++ 
1.3.6. Dünyada "C++ Programlama Dili" Kullanımı 
1.3.7. Derleyici 
1.3.8. Derleyici ve Donanım 
1.4. C++ PROGRAMLARINDA KULLANILAN NİCELİKLER 
1.4.1. Anahtar Kelimeler 
1.4.2. Belirleyiciler (İsimler) 
1.4.3. Sabitler 
1.4.3.1. Tam Sayı Sabitler 
1.4.3.2. Karakter Sabitler 
1.4.3.3. Ondalık Sayı Sabitler 
1.4.3.4. Numaralama Sabitleri 
1.4.4. String-Karakter Dizisi Sabitler 
1.4.5. İşlemciler 
1.4.6. Ayırıcılar 
İKİNCİ BÖLÜM C++ PROGRAMLAMA DİLİ
2. C++ PROGRAMLAMA DİLİ 
2.1. C++ Programlama Dilinde Kullanılan Niceliklere İsim Verme 
2.2. C++ Programlama Dilinin Temel Yapısı 
2.2.1. iostream Başlık Dosyası 
2.2.2. İsim Uzayı 
2.2.3. main() Fonksiyonu 
2.2.4. Fonksiyonlar 
2.2.5. Açıklamalar 
2.2.6. Program Yazma Şekli 
2.2.7. İfadeler 
2.2.7.1. Basit İfadeler 
2.2.7.2. Basit Olmayan İfadeler 
2.3. TEMEL VERİ TİPLERİ 
2.3.1. Tam Sayı Veri Tipleri 
2.3.2. Ondalık Sayı Veri Tipleri 
2.3.3. Karakter Veri Tipi ve Küçük Tam Sayılar 
2.3.4. bool Veri Tipi 
2.3.5. Tam Sayıların Kullanılması 
2.3.6. Sayısal İşlemlerde Sınır Kavramı 
2.4. DEĞİŞKENLER VE SABİTLER 
2.4.1. Değişkenler 
2.4.1.1. Bir Deyimin l-değerli (left-value) Olması 
2.4.1.2. Bir Deyimin r-değerli (right-value) Olması 
2.4.2. Değişken Deklerasyonları ve Tanımları 
2.4.3. Sabitler 
2.5. FORMATLI YAZDIRMA 
2.6. TİP DÖNÜŞÜMÜ 
2.6.1. Tip Dönüşümü Çeşitleri 
2.6.1.1. Derleyici Tarafından Kendiliğinden Gerçekleştirilen Tip Dönüşümü 
2.6.1.2. Tip Atamaları 
2.6.2. Tip Dönüşümleri Sırasında Karşılaşılan Önemli Problemler 
2.6.2.1. Birinci Durum 
2.6.2.2. İkinci Durum 
2.6.2.3. Üçüncü Durum 
2.6.2.4. Dördüncü Durum 
2.6.2.5. Beşinci Durum 
2.7. ARİTMETİK İŞLEMCİLER 
2.7.1. Aritmetik İşlemciler 
2.7.1.1. Bölme İşlemcisi ve Tam Sayı Bölme işlemcisi 
2.7.2. Kalan İşlemcisi 
2.7.3. Aritmetik Atama İşlemcileri 
2.7.4. Artırma İşlemcisi 
2.7.5. Ön Ek (prefix) ve Son Ek (postfix) Gösterimi 
2.7.6. Eksiltme İşlemcisi 
2.8. HAZIR FONKSİYONLAR 
2.8.1. Başlık Dosyaları 
2.9. SORULAR VE ALIŞTIRMALAR 
ÜÇÜNCÜ BÖLÜM SEÇME VE DÖNGÜ
3. SEÇME VE DÖNGÜ 
3.1. KARŞILAŞTIRMA 
3.2. SEÇME ÇEŞİTLERİ 
3.2.1. if İfadesi 
3.2.1.1. Basit if İfadesi 
3.2.1.2. if … else … ; İfadesi 
3.2.1.3. Koşullu İşlemci (the conditional operator) 
3.2.2. switch İfadesi 
3.3. DÖNGÜ (Loop) ÇEŞİTLERİ 
3.3.1. for Döngüsü 
3.3.1.1. for Döngüsünün Başlığı 
3.3.1.2. for Döngüsünün Gövdesi 
3.3.1.3. Bloklar ve Değişkenlere Erişebilme (Variable Visibility) 
3.3.1.4. Değişik for Döngüleri 
3.3.1.5. for İfadelerinin İçinde Tanımlanan Değişkenler 
3.3.1.6. Birden Çok İlk Değer Atama ve Sınama Deyimi 
3.3.1.7. for Döngüsünde Adım Aralığını Değiştirme 
3.3.1.8. for Döngüsünde string 
3.3.2. while Döngüsü 
3.3.2.1. Öncelik Sırası: Aritmetik ve Mantıksal İşlemciler 
3.3.3. do while Döngüsü 
3.4. MANTIK İŞLEMCİLERİ 
3.4.1. VE (&&) İşlemcisi 
3.4.2. VEYA (||) İşlemcisi 
3.4.3. DEĞİL (!) İşlemcisi 
3.5. BAZI İŞLEMCİLERİN ÖNCELİK SIRASI 
3.6. DİĞER KONTUROL İFADELERİ 
3.6.1. break İfadesi 
3.6.2. continue İfadesi 
3.6.3. goto İfadesi 
3.7. SORULAR VE ALIŞTIRMALAR 
DÖRDÜNCÜ BÖLÜM DİZİ VERİ TİPİ
4. DİZİ VERİ TİPİ 
4.1. VERİ TİPLERİ 
4.1.1. Basit Veri Tipleri 
4.1.2. Basit Olmayan Veri Tipleri 
4.2. BİR BOYUTLU DİZİ 
4.2.1. Bir Boyutlu Dizi Deklerasyonu 
4.2.2. Dizi Elemanlarına Değer Atama 
4.2.3. Dizinin Elemanlarını Kullanma 
4.2.4. Dizinin Elemanlarına İlk Değerleri Atama 
4.2.5. Dizilere Başlangıç Değeri Verme Kuralları 
4.3. İKİ BOYUTLU DİZİ 
4.3.1. İki Boyutlu Dizi Deklerasyonu 
4.3.1.1. İki Boyutlu Bir Diziyi Bir Fonksiyona Argüman Olarak Gönderme 
4.4. DEĞİŞİK DİZİ ÖRNEKLERİ 
4.5. DİZİLER VE DİNAMİK BELLEK KULLANIMI 
4.5.1. Diziyi Belleğe Dinamik Olarak Yerleştirme 
4.5.2. Dinamik Olarak Belleğe Yerleştirilen Diziye İlk Değerleri Verme 
4.5.3. Diziyi Bellekten Silme 
4.6. SORULAR VE ALIŞTIRMALAR 
BEŞİNCİ BÖLÜM STRING ve KARAKTER TİPLİ DİZİ
5. STRING ve KARAKTER TİPLİ DİZİ 
5.1. STRING 
5.2. KOPYALAMA 
5.3. İKİ BOYUTLU KARAKTER DİZİSİ 
5.4. STRING TİPLİ DEĞİŞKENDEKİ KARAKTERLER 
5.5. BAŞKA ÖRNEKLER 
5.6. SORULAR ve ALIŞTIRMALAR 
ALTINCI BÖLÜM YAPI VE NUMARALAMA VERİ TİPLERİ
6. YAPI VE NUMARALAMA VERİ TİPLERİ 
6.1. YAPI VERİ TİPİ 
6.1.1. Yapı Veri Tipi Tanımı 
6.1.2. Yapı Veri Tipli Değişken Tanımlama 
6.1.3. Yapının Üyelerine (Elemanlarına) Erişme 
6.1.4. Yapı Veri Tipinin Diğer Özellikleri 
6.1.4.1. Yapı Üyelerine İlk Değerlerin Atanması 
6.1.4.2. Atama İfadelerinde Yapı Tipli Değişkenler 
6.1.5. Yapı İçinde Yapı 
6.1.6. Kümelenmiş Yapıların Üyelerine Erişme 
6.1.7. Kümelenmiş Yapılara İlk Değer Atama 
6.1.8. Kümelenme Derinliği 
6.2. NUMARALAMA VERİ TİPİ 
6.2.1. Numaralama (enum) Sabitlerinin Değerlerini Açıkça Belirtme 
6.2.2. Numaralama Veri Tipi ve Giriş/Çıkış 
6.2.3. Numaralama Örnekleri 
6.3. SORULAR VE ALIŞTIRMALAR 
YEDİNCİ BÖLÜM FONKSİYONLAR: 1
7. FONKSİYONLAR: 1 
7.1. GİRİŞ 
7.2. ARGÜMANSIZ (BASİT) FONKSİYONLAR 
7.2.1. Fonksiyonu Deklere Etme 
7.2.2. Fonksiyonu Çağırma 
7.2.3. Fonksiyonu Tanımlama 
7.2.4. Fonksiyon Tanımını Kütüphane Fonksiyonları İle Karşılaştırma 
7.2.5. Fonksiyonun Deklerasyonundan Kurtulma 
7.3. ARGÜMANLI FONKSİYONLAR 
7.3.1. Fonksiyona Sabitleri Argüman Olarak Gönderme 
7.3.2. Fonksiyonun Parametreleri 
7.3.3. Fonksiyona Değişkenleri Argüman Olarak Gönderme 
7.4. FONKSİYONA ARGÜMAN GÖNDERME ŞEKİLLERİ 
7.4.1. Fonksiyona Argümanı DEĞER Olarak Gönderme 
7.4.1.1. Fonksiyona Yapı Tipli Argümanı DEĞER Olarak Gönderme 
7.4.1.2. Fonksiyona Dizi Tipli Argümanı DEĞER Olarak Gönderme??? 
7.4.2. Fonksiyona Argümanı REFERANS Olarak Gönderme 
7.4.3. Fonksiyona Argümanı GÖSTERİCİ Olarak Gönderme 
7.5. FONKSİYONDAN DEĞER DÖNDÜRME 
7.5.1. return İfadesi 
7.5.1.1. return İfadesinde Gereksiz Değişkenlerden Kurtulma 
7.5.2. Fonksiyonlardan YAPI TİPLİ Argümanları Döndürme 
7.5.3. Fonksiyondan Dizi Tipli Bir Veriyi Gösterici Kullanarak Döndürme 
7.5.4. Fonksiyonlardan Argümanları REFERANS Olarak Döndürme 
7.5.4.1. Referans Veri Tipi 
7.5.4.2. Referans Veri Tipli Değişken Tanımlama ve Ona Başlangıç Değeri Verme 
7.5.4.3. Referans Olarak Tanımlanan Değişkeni Kullanma 
7.5.4.4. Referans Olarak Tanımlanan Bir Değişkene Değer Atama 
7.5.4.5. Referans Örnekleri 
7.5.4.6. Argümanları Fonksiyonlara REFERANS Olarak Gönderme 
7.5.4.7. Basit Veri Tiplerini Fonksiyonlara Referans Olarak Gönderme 
7.5.4.8. Fonksiyona Referans Olarak İki Argüman Gönderme 
7.5.5. Fonksiyona YapıTipli Verileri Referans Olarak Gönderme 
7.6. FONKSİYONLARIN AŞIRI YÜKLENMESİ 
7.6.1. Fonksiyonların Aşırı Yüklenmesi 
7.6.2. Fonksiyonların Aşırı Yüklenmesi ve Dönüş Tipi 
7.7. FONKSİYONLARIN BAZI ÖZELLİKLERİ 
7.7.1. Fonksiyonların Kendi Kendini Çağırması 
7.7.2. Yerel Fonksiyonlar 
7.7.3. Fonksiyonların Varsayılan Argümanları 
7.7.4. Yerel ve Genel Değişkenler 
7.7.4.1. Statik Yerel Değişkenler 
7.7.5. Referans Tipli Dönüş Değerleri 
7.7.5.1. Bir Fonksiyonun const Referans Argümanları 
7.8. STANDART FONKSİYONLAR 
7.9. SORULAR VE ALIŞTIRMALAR 
SEKİZİNCİ BÖLÜM SINIF VERİ TİPİ VE NESNE
8. SINIF VERİ TİPİ ve NESNE 
8.1. SINIF (class) VERİ TİPİ ve NESNE (object) TANIMI 
8.1.1. Yapısal Programlama Hakkında Birkaç Söz 
8.1.2. Gerçek Dünyanın Modellenmesi 
8.1.3. Sınıfa Neden İhtiyaç Duyulur? 
8.1.4. Yapı ve Sınıf Veri Tipleri Arasındaki İlişki 
8.1.5. Sınıf Tanımı 
8.1.6. Sınıf Veri Tipinin Özellikleri 
8.2. BASİT BİR SINIF VERİ TİPİ VE BASİT BİR NESNE 
8.2.1. Sınıf Veri Tipi ve Nesne 
8.2.2. Sınıf Veri Tipini Tanımlama 
8.2.3. private ve public Belirticileri 
8.2.4. Sınıf Veri Tipinin Üye Verileri 
8.2.5. Sınıf Veri Tipinin Üye Fonksiyonları 
8.2.6. Sınıf Veri Tipinin Kullanılması 
8.2.6.1. Nesnelerin Tanımlanması 
8.2.6.2. Nokta İşlemcisi ve Üye Fonksiyonların Çağırılması 
8.3. FİZİKSEL NESNELER OLARAK C++ NESNELERİ 
8.3.1. Nesne Olarak Kimlik Bilgileri 
8.3.2. Nesne Olarak Daire 
8.4. KURUCU FONKSİYON 
8.4.1. Nesneleri İlk Kullanıma Hazırlama 
8.4.2. Nesnelerin Kendi Kendilerini İlk Kullanıma Hazırlaması 
8.4.3. Kurucu Fonksiyon 
8.4.4. Kurucu Fonksiyon - Daire Örnegi 
8.4.5. Kurucu Fonksiyonun Özellikleri 
8.4.6. Nesnelere Atanan İlk Değerlerin Listesi 
8.5. YOK EDİCİ FONKSİYON 
8.6. NESNELERİN FONKSİYON ARGÜMANLARI OLARAK KULLANILMASI 
8.7. KURUCU FONKSİYONLARIN AŞIRI YÜKLENMESİ 
8.8. ÜYE FONKSİYONLARIN SINIFIN DIŞINDA TANIMLANMASI 
8.8.1. Kapsam Çözünürlük İşlemcisi 
8.9. ARGÜMAN OLARAK NESNELERİN KULLANILMASI 
8.10. VARSAYILAN KOPYALAMA KURUCU FONKSİYONU 
8.11. FONKSİYONLARDAN NESNELERİ DÖNDÜRME 
8.12. ARGÜMANLAR VE NESNELER 
8.13. YAPILAR VE SINIFLAR 
8.14. SINIFIN STATİK ÜYE VERİSİ 
8.14.1. Sınıfın static Üye Verisi 
8.14.2. Sınıfın static Üye Verisini Kullanma 
8.14.3. static Üye İçin Deklerasyon ve Tanım Ayrı Ayrı 
8.15. ÜYE FONKSİYONLARIN const OLARAK DEKLERE EDİLMESİ VE TANIMLANMASI 
8.15.1. Üye Fonksiyonun const Argümanları 
8.15.2. const Olarak Tanımlanan Nesneler 
8.16. SINIF ÜYESİ OLARAK KARAKTER DİZİLERİ 
8.17. "String" ve "string" SINIFLARI 
8.18. SORULAR ve ALIŞTIRMALAR 
DOKUZUNCU BÖLÜM İŞLEMCİLERİN AŞIRI YÜKLENMESİ
9. İŞLEMCİLERİN AŞIRI YÜKLENMESİ 
9.1. TEKLİ İŞLEMCİLERİN AŞIRI YÜKLENMESİ 
9.1.1. operator Anahtar Kelimesi 
9.1.2. İşlemci (operator) Fonksiyonunun Argümanları 
9.1.3. İşlemci Fonksiyonunun Döndürdüğü Değer 
9.1.4. İsimsiz Geçici Nesneler 
9.2. İKİLİ İŞLEMCİLERİN AŞIRI YÜKLENMESİ 
9.2.1. Aritmetik İşlemcilerin Aşırı Yüklenmesi 
9.2.1.1. Nesneleri Toplama 
9.2.1.2. Karakter Katarlarını Birbirine Ekleme 
9.2.2. Karşılaştırma İşlemcileri 
9.2.3. Aritmetik Atama İşlemcileri 
9.3. "İNDİS" İŞLEMCİSİ 
9.3.1. get() ve put() Fonksiyonları 
9.3.2. Referans Olarak Dönen Bir Tek access() Fonksiyonu 
9.3.3. Referans Olarak Dönen Aşırı Yüklenmiş [ ] İndis İşlemcisi 
9.4. İŞLEMCİLERİN AŞIRI YÜKLENMELERİNE GETİRİLEN SINIRLAMALAR 
9.4.1. Aşırı Yüklenecek İşlemcilerin Etki Edeceği İfadelerin Özelliği 
9.4.2. Başlangıçtaki Yazım Kuralına Uyma 
9.4.3. Aşırı Yüklenemeyen İşlemciler 
9.4.4. Aşırı Yüklenebilen İşlemciler 
9.4.5. Sadece Üye Fonksiyonlar Kullanılarak Aşırı Yüklenebilen İşlemciler 
9.5. SORULAR VE ALIŞTIRMALAR 
ONUNCU BÖLÜM KALITIM
10. KALITIM 
10.1. KALITIM 
10.2. TEMEL SINIF ve TÜRETİLMİŞ SINIF 
10.2.1. Türetilmiş Sınıfın Tanımında Temel Sınıfı Açıkça Yazmak Gerekir 
10.2.2. Türetilmiş Sınıfın Nesnelerinden Temel Sınıfın Üyelerine Erişme 
10.2.2.1. Temel Sınıfın Kurucu Fonksiyonlarını Kullanma 
10.2.3. Temel Sınıfın Üye Fonksiyonlarını Kullanma 
10.2.4. protected Erişim Belirticisi 
10.3. ÜYE FONKSİYONLARI DİKKATE ALMAMA 
10.3.1. Hangi Fonksiyon Tanımı Kullanılır? 
10.3.2. Dikkate Alınmayan Üye Fonksiyonlar ve Kapsam Çözünürlük İşlemcisi 
10.4. SINIF HİYERARŞİSİ 
10.4.1. Soyut Temel Sınıf ("Abstract" Base Class) 
10.5. public ve private KALITIM 
10.5.1. Erişme Kombinezonları 
10.6. ÇOKLU KALITIM 
10.6.1. Çoklu Kalıtımda Belirsizlik 
10.6.1.1. Bir Başka Tür Belirsizlik 
10.6.2. Çalışanların Eğitim Durumu 
10.7. KALITIM ve DİNAMİK BELLEK KULLANIMI 
10.7.1. Türetilmiş Sınıfın new Kullanmaması Durumu: 
10.7.2. Türetilmiş Sınıfın new Kullanması Durumu: 
10.8. SORULAR VE ALIŞTIRMALAR 
ONBİRİNCİ BÖLÜM VERİ TİPİ DÖNÜŞÜMÜ
11. VERİ TİPİ DÖNÜŞÜMÜ 
11.1. VERİ TİPİ DÖNÜŞÜMÜ 
11.1.1. Temel Veri Tipleri Arasındaki Dönüşümler 
11.1.2. Nesneler ve Temel Veri Tipleri Arasındaki Dönüşümler 
11.1.3. Temel Bir Veri Tipinden Kullanıcı Tanımlı Veri Tipine Dönüşüm 
11.1.4. Kullanıcı Tarafından Tanımlanan Tiplerden Temel Tiplere Dönüşüm 
11.1.5. C- Karakter Katarları ve String Tipli Nesneler Arasında Dönüşüm 
11.2. explicit ve mutable ANAHTAR KELİMELERİ 
11.2.1. explicit Sayesinde Dönüşümleri Engelleme 
11.2.2. mutable Kullanarak const Nesne Verilerini Değiştirme 
11.3. DİNAMİK TİP BİLGİSİ (Dynamic Type Information) 
11.3.1. dynamic_cast Yardımıyla Bir Sınıfın Tipini Konturol Etme 
11.3.2. dynamic_cast Yardımıyla Gösterici Tiplerini Değiştirme 
11.3.3. typeid İşlemcisi 
11.4. SORULAR VE ALIŞTIRMALAR 
ONİKİNCİ BÖLÜM GÖSTERİCİ VERİ TİPİ
12. GÖSTERİCİ VERİ TİPİ 
12.1. GÖSTERİCİ VERİ TİPİ 
12.1.1. Gösterici Veri Tipi Tanımı 
12.1.2. Kullanılan Bellek Alanlarını Karşılaştırma 
12.2. GÖSTERİCİ NE İŞE YARAR ? 
12.3. NİCELİKLERİN BELLEK ADRESLERİ VE GÖSTERİCİLER 
12.3.1. Adresi Al İşlemcisi 
12.4. GÖSTEREN DEĞİŞKEN : Gösterici 
12.4.1. Gösterici Değişkenin Veri Tipi Nedir? 
12.5. GÖSTERİLEN DEĞİŞKEN (dereference) 
12.6. void’u GÖSTEREN GÖSTERİCİ 
12.7. GÖSTERİCİ KULLANMANIN ZORLUĞU 
12.8. GÖSTERİCİLER VE DİZİLER 
12.8.1. Dizi Gösterimi 
12.8.2. Dizinin Gösterici İle Temsili 
12.8.3. Dizi ve Gösterici Temsilinin Birlikte Kullanılması 
12.8.4. Dizi Gibi Davranan Bir Sınıf Tanımı 
12.9. GÖSTERİCİLER VE FONKSİYON ARGÜMANLARI 
12.9.1. Basit Değişkenleri Fonksiyona Referans Argüman Olarak Gönderme 
12.9.2. Diziyi Fonksiyona Argüman Olarak Gönderme 
12.9.3. Göstericileri Fonksiyon Argümanları Olarak Kullanma 
12.10. FONKSİYONLARI GÖSTEREN GÖSTERİCİLER 
12.10.1. Bir Fonksiyonun Adresini Elde Etme 
12.10.2. Fonksiyon Göstericisinin Deklerasyonu 
12.10.3. Fonksiyon Çağırmak İçin Fonksiyon Göstericisini Kullanma 
12.11. GÖSTERİCİLER VE KARAKTER KATARLARI 
12.12. DİNAMİK DEĞİŞKEN ve new İŞLEMCİSİ 
12.12.1. Otomatik Değişken 
12.12.2. Statik (static) Değişken 
12.12.3. Dinamik Değişken 
12.13. GÖSTERİCİLERİ KULLANARAK ÜYE FONKSİYONLARA ERİŞME 
12.13.1. Ok İşlemcisi (arrow operator) 
12.14. new İŞLEMCİSİNİN DÖNDÜRDÜĞÜ GÖSTERİCİNİN İÇERİĞİNE ULAŞMA 
12.15. GÖSTERİCİLER VE NESNELER 
12.16. BAĞLI LİSTE 
12.17. GÖSTERİCİLERİN ÖNCELİK SIRALARI 
12.18. SORULAR ve ALIŞTIRMALAR 
ONÜÇÜNCÜ BÖLÜM FONKSİYONLAR: 2
13. FONKSİYONLAR: 2 
13.1. GİRİŞ 
13.2. SANAL FONKSİYONLAR 
13.2.1. Sanal Fonksiyonlara Neden İhtiyaç Duyulur? 
13.2.2. Göstericilerle Erişilen Normal Üye Fonksiyonlar 
13.2.3. Göstericilerle Erişilen Sanal Üye Fonksiyonlar 
13.2.4. Soyut Sınıflar ve Saf Sanal Fonksiyonlar 
13.2.5. SANAL Üye Fonksiyon ve Grafik Örnekler 
13.2.6. Sanal YOK EDİCİ Fonksiyonlar 
13.3. ARKADAŞ-DOST FONKSİYONLAR (Friend Functions) 
13.3.1. Dost Fonksiyonlar 
13.3.1.1. Çarpma İşlemcisi 
13.3.2. Dost (friend) Sınıflar 
13.4. STATİK FONKSİYONLAR 
13.4.1. static Fonksiyonlara Erişme 
13.4.2. Nesneleri Numaralama 
13.5. AŞIRI YÜKLENMİŞ ATAMA İŞLEMCİSİ 
13.6. KOPYALAMA KURUCU FONKSİYONU 
13.7. this GÖSTERİCİSİ 
13.7.1. Nesnenin Adresini Göstermek İçin this Göstericisini Kullanma 
13.7.2. Üye Veriye this Göstericisini Kullanarak Ulaşma 
13.7.3. Değer Döndürmek İçin this Göstericisini Kullanma 
13.8. SORULAR VE ALIŞTIRMALAR 
ONDÖRDÜNCÜ BÖLÜM AKIŞ VE DOSYA
14. AKIŞ VE DOSYA 
14.1. AKIŞ 
14.1.1. Başlık Dosyaları 
14.2. ios SINIFI 
14.2.1. Biçimlendirme İşaretleri 
14.2.2. Biçimlendirme İşaretlerini Ayarlama 
14.2.3. İki Argümanlı setf() Fonksiyonunu Kullanma 
14.2.3.1. Tam Sayıları Formatlı Yazdırma 
14.2.3.2. Ondalık Sayıları Formatlı Yazdırma 
14.2.4. ios Düzenleyicileri (Manipulators) 
14.2.5. ios Fonksiyonları 
14.3. istream SINIFI 
14.4. ostream SINIFI 
14.5. iostream VE _withassign SINIFLARI 
14.5.1. Öntanımlı Akış Nesneleri (Predefined Stream Objects) 
14.6. AKIŞ HATALARI 
14.6.1. Hata Durum İşaretleri (Error Status Bits) 
14.6.2. Sayıları Girme 
14.6.3. Çok Fazla Karakter Girme Problemi 
14.6.4. Girdisiz Girdi 
14.6.5. Karakter ve Karakter Katarı Girişi (Inputting Character and String) 
14.7. AKIŞLARLA DİSK DOSYASI GİRİŞ/ÇIKIŞLARI 
14.7.1. Biçimlendirilmiş Disk Dosyası 
14.7.2. Verileri Disk Dosyasına Yazdırma 
14.7.3. Programlar Çalışırken Oluşturulan Dosyaları Bulma ve Açma 
14.7.4. Verileri Dosyadan Okutma 
14.7.5. Verileri Dosyaya Yazdırma Ve Dosyadan Okutma 
14.7.6. Boşluk İçeren String’ler 
14.7.7. Dosya Sonunu Tespit Etme 
14.7.8. Karakter Giriş/Çıkış (Character I/O) 
14.8. İKİLİ SİSTEMDE GİRİŞ/ÇIKIŞ (Binary Input/Output) 
14.8.1. reinterpret_cast() İşlemcisi 
14.8.2. Dosyaları Kapatma 
14.8.3. Nesne Giriş/Çıkışları 
14.8.3.1. Bir Nesneyi Diske Yazma 
14.8.3.2. Diskten Bir Nesne Okutma 
14.8.4. Uyumlu Veri Yapıları 
14.8.5. Birden Fazla Nesne İle Giriş/Çıkış 
14.9. fstream SINIFI 
14.9.1. open() Fonksiyonu 
14.9.1.1. Mod Bitleri (Sabitleri) (The Mode Bits) 
14.10. DOSYA GÖSTERİCİLERİ (File Pointers) 
14.10.1. Konumu Belirleme (Specifying the Position) 
14.10.2. Ötelemeyi Belirleme (Specifying the Offset) 
14.10.3. tellg() Fonksiyonu 
14.11. HATALARIN BULUNMASI 
14.12. ÜYE FONKSİYONLARLA DOSYA GİRİŞ/ÇIKIŞI 
14.12.1. Kendilerini Okuyup Yazabilen Nesneler 
14.12.2. Kendi Kendilerini Okuyup Yazan Sınıflar 
14.12.2.1. Statik Fonksiyonlar 
14.12.2.2. typeid() Fonksiyonunun Kullanılması 
14.13. ÇIKARMA VE EKLEME İŞLEMCİLERİNİ AŞIRI YÜKLEME 
14.13.1. cout ve cin İçin Aşırı Yükleme 
14.13.2. > İşlemcilerini Dosyalar İçin Aşırı Yükleme 
14.14. BİR AKIŞ NESNESİ OLARAK BELLEK 
14.14.1. Komut Satırı Parametreleri (Command. Line Arguments) 
14.14.2. Yazıcı Çıktısı 
14.15. SORULAR VE ALIŞTIRMALAR 
ONBEŞİNCİ BÖLÜM ÇOK DOSYALI PROGRAMLAR
15. ÇOK DOSYALI PROGRAMLAR 
15.1. GİRİŞ 
15.1.1. Arayüz 
15.1.2. Uygulama 
15.2. ÇOK DOSYALI PROGRAM OLUŞTURMA 
15.2.1. Başlık Dosyaları 
15.2.2. Dizin 
15.2.3. Projeler 
15.3. DOSYALAR ARASINDAKİ HABERLEŞME 
15.3.1. Kaynak Dosyaları Arasındaki Haberleşme 
15.3.2. Değişkenlerin Dosyalar Arasında Ortak Kullanılması 
15.3.2.1. Programda Geçerli Tanım Sayısı 
15.3.2.2. Genel Değişkene Farklı Bir Dosyadan Erişme 
15.3.2.3. Bir Kısıtlama 
15.3.2.4. Genel Değişkenleri Aynı İsimle Farklı Dosyalarda Kullanma 
15.3.3. Fonksiyonların Dosyalar Arasında Ortak Kullanılması 
15.3.3.1. Deklerasyon ve Tanım 
15.3.3.2. Birden Çok Deklerasyon 
15.3.3.3. Statik Fonksiyonlar 
15.3.4. Sınıfların Dosyalar Arasında Ortak Kullanılması 
15.3.5. Başlık Dosyaları 
15.3.5.1. Başlık Dosyası Kullanma Sebebi 
15.3.5.2. Tanımları Başlık Dosyasına Koyma 
15.3.5.3. Sınıf Tanımını Kaynak Dosyaların Her Birine Koyma 
15.3.5.4. Harici Dosyaların Tanımları 
15.3.6. Birden Çok "include" Tehlikesi 
15.3.7. Birden Çok "include" u Önleme 
ONALTINCI BÖLÜM ŞABLONLAR
16. ŞABLONLAR 
16.1. FONKSİYON ŞABLONLARI 
16.1.1. Bu Kavrama Ne Gerek Var? 
16.1.2. Basit Bir Fonksiyon Şablonu 
16.1.3. Fonksiyon Şablonunun Söz Dizimi 
16.1.4. Birçok Argümanı Olan Fonksiyon Şablonları 
16.2. SINIF ŞABLONLARI 
16.2.1. Üye Fonksiyonların Sınıfın Dışında Tanımlanması Durumu 
16.2.2. Şablon Kullanılan Bir Bağlı Liste Sınıfı 
16.3. BİR TİPİN JENERİK VE ÖZEL ARGÜMANLARI 
16.4. BİRDEN ÇOK TİP PARAMETRESİNE SAHİP OLAN ŞABLONLAR 
16.4.1. Varsayılan Tipli Şablon Parametreleri 
16.5. ŞABLONLARIN “ÜYE” OLARAK KULLANILMASI 
16.6. SORULAR VE ALIŞTIRMALAR 
ONYEDİNCİ BÖLÜM KURAL DIŞI DURUMLAR
17. KURAL DIŞI DURUMLAR 
17.1. KURAL DIŞI DURUMLAR 
17.2. SORULAR VE ALIŞTIRMALAR 
ONSEKİZİNCİ BÖLÜM STANDART ŞABLON KÜTÜPHANESİ (SŞK) = STL
18. STANDART ŞABLON KÜTÜPHANESİ (SŞK) = STL 
18.1. GİRİŞ 
18.2. DEPOLAYICILAR 
18.2.1. Sıralı Depolayıcılar 
18.2.1.1. Vektörler (vectors) 
18.2.1.1.1 push_back(), size() ve operator [] Üye Fonksiyonları 
18.2.1.1.2 swap(), empty(), back() ve pop_back() Üye Fonksiyonları 
18.2.1.1.3 insert() ve erase() Üye Fonksiyonları 
18.2.1.2. Listeler (lists) 
18.2.1.2.1 push_front(), front() ve pop_front() Üye Fonksiyonları 
18.2.1.2.2 reverse(), merge() ve unique() Üye Fonksiyonları 
18.2.1.3. Çift Uçlu Kuyruk (Deque) 
18.2.2. Birleşik Depolayıcılar 
18.2.2.1. Kümeler ve Çoklu Kümeler 
18.2.2.2. Eşlemeler ve Çoklu Eşlemeler 
18.2.2.3. Birleşik Dizi 
18.2.3. Depolayıcıların Kendi Üye Fonksiyonları 
18.2.4. Depolayıcı Uyarlayıcıları 
18.3. ALGORİTMALAR 
18.3.1. Algoritma Örnekleri 
18.3.1.1. find() Algoritması 
18.3.1.2. count() Algoritması 
18.3.1.3. sort() Algoritması 
18.3.1.4. search() Algoritması 
18.3.1.5. merge() Algoritması 
18.3.2. Algoritmalara _if Ekleme 
18.3.2.1. for_each() Algoritması 
18.3.2.2. transform() Algoritması 
18.4. İTERATÖRLER 
18.4.1. Akıllı Gösterici Olarak İteratör 
18.4.2. Sıradan Göstericilerin Durumu 
18.4.3. İteratörleri Tamamen Ayrı Bir Sınıf Olarak Tanımlama 
18.4.4. Arayüz Olarak İteratörler 
18.4.5. Algoritmaları Depolayıcılarla Eşleme 
18.4.6. Depolayıcı Ucu 
18.4.7. İteratörü Algoritmaya Bağlama 
18.4.8. Üye Fonksiyonlarla Algoritmalar Arasında Seçim Yapma 
18.4.9. İteratörlerin Kullanılması 
18.4.9.1. Veriye Erişme 
18.4.9.2. Veri Ekleme 
18.4.9.3. Algoritmalar ve İteratörler 
18.4.10. Özelleştirilmiş İteratörler 
18.4.10.1. İteratör Uyarlayıcıları 
18.4.10.1.1 Ters İteratörler 
18.4.10.1.2 Ekleme İteratorleri 
18.4.10.1.3 Akış İteratörleri 
18.4.10.2. ostream_iterator Sınıfı 
18.4.10.3. istream_iterator Sınıfı 
18.4.11. Kullanıcı Tarafından Tanımlanan Nesneleri Depolama 
18.4.11.1. Kisi Sınıfının Nesnelerinin Kümesi 
18.4.11.2. Gerekli Üye Fonksiyonlar 
18.4.11.3. Sıralama 
18.4.11.4. Tıpkı Temel Tipler Gibi 
18.4.11.5. Kisi Sınıfının Nesnelerinin Listesi 
18.4.11.6. Belirli Bir İsme Sahip Tüm Kişileri Bulma 
18.4.11.7. Belirli Bir Telefon Numarasına Sahip Tüm Kişileri Bulma 
18.5. FONKSİYON NESNELERİ 
18.5.1. Derleyicide Tanımlı Fonksiyon Nesneleri 
18.5.2. Kendi Fonksiyon Nesnelerini Yazma 
18.5.3. KisileriKarsilastir() Fonksiyon Nesnesi 
18.5.4. KisiYaz() Fonksiyon Nesnesi 
18.5.5. Depolayıcının Davranışını Değiştirmek İçin Kullanılan Fonksiyon Nesneleri 
18.6. STL İLE İLGİLİ ENDİŞELER 
EKLER
E.1. İŞLEMCİLERİN ÖNCELİK SIRALARI 
E.2. DEPOLAYICILARIN ÜYE FONKSİYONLARI 
E.3. ALGORİTMA TABLOLARI 
E.3.1. Genel Açıklamalar 
E.3.2. Değişmeyen Ardışıklık (Ardıllık) İşlemleri 
E.3.3. Değişen Ardışıklık (Ardıllık) İşlemleri 
E.3.4. Sıralama ve İlgili İşlemler 
E.3.5. Genelleştirilmiş Sayısal İşlemler 
E.4. ALGORİTMALAR İÇİN GEREKLİ İTERATÖRLER 
E.5. ŞEKİL 
E.5.1. sekilh.h 
E.5.2. sekilCpp.cpp 
E.6. C913.cpp 
E.6.1. C913h.h 
E.6.2. C913pp.cpp 
E.7. SINIFLAR 
E.7.1. siniflarh.h 
E.7.2. siniflarCpp.cpp 
E.8. KALITIM 
E.8.1. Kalitimh.h 
E.9. ÇALIŞAN 
E.9.1. calisanh.h 
E.10. DUYARLIK SINIRLARI 
E.11. GÖSTERİCİYİ GÖSTEREN GÖSTERİCİ 
Kaynaklar 
Kavram Dizini