C++: USING CLASS TEMPLATES EĞİTİMİ

Sınıf şablonlarıyla genel veri yapıları kurun

Sınıf şablonu tanımı, üye şablonlar, özelleştirme, varsayılan argüman, bağımlı isimler ve genel konteyner yazımı

C++: Using Class Templates eğitiminde sınıf şablonu tanımı, header kuralı, konteyner yazımı, non-type parametreler, CTAD, tam ve kısmi özelleştirme, üye şablonlar, bağımlı isimler ve Stack, Array, LinkedList uygulamaları işlenir.

2 gün Orta Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

Sınıf şablonları, özelleştirme, üye şablonlar, CTAD ve genel konteyner tasarımı

Bu eğitim, C++ sınıf şablonlarını yazmayı ve kullanmayı anlatır. Katılımcılar template<typename T> class tanımı, üye fonksiyonların sınıf dışı tanımı, header içinde şablon kuralı, tam ve kısmi özelleştirme, varsayılan şablon argümanları, üye şablonlar, typename ve template anahtar sözcükleri, CTAD, friend ve statik üyeler ile Stack, Array ve LinkedList konteynerlerini uygular.

Süre ve Format

2 Gün. Her gün dört modül; 1. gün Sınıf Şablonu Temelleri; 2. gün Özelleştirme ve İleri Konular.

Seviye

Orta Seviye — Sınıf şablonları, özelleştirme, üye şablonlar, CTAD ve genel konteyner tasarımı

Öğrenme Metodu

Katılımcılar Stack<T>, Array<T,N> ve LinkedList<T> sınıflarını sıfırdan yazar ve her birini farklı türlerle test eder.

Neden Bu Eğitim?

🎯Genel konteyner

Her türle çalışan, STL benzeri veri yapıları yazarsınız.

🛠️Şablon kuralları

Header yerleşimi, bağımlı isim ve özelleştirme gibi tuzaklara hâkim olursunuz.

🚀Yeniden kullanım

Tek tanımla yüzlerce tür için çalışan kod üretirsiniz.

Anahtar Konular

c++ sınıf şablonlarıclass templates c++template<typename T>kısmi özelleştirmectadc++ stack şablonbağımlı isimlertypename templatec++ üye şablonc++ konteyner yazmak
“Bir kez yazılan şablon, her türe aynı özenle hizmet eder.”

Ön Koşullar

Eğitimden verim almak için faydalı olacak bilgi ve ortam gereksinimleri

1
Fonksiyon şablonları

template<typename T> ile fonksiyon şablonu yazılmış olmalıdır.

2
Sınıf bilgisi

Constructor, destructor, kopya ve operatör aşırı yükleme bilinmelidir.

3
Bellek yönetimi

new/delete ve akıllı işaretçi kullanımı bilinmelidir.

4
Derleyici

C++17 destekli derleyici kurulu olmalıdır.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı, genel bir konteyner sınıfı şablonunu tanımlayıp farklı türlerle kullanır.
Modül 1
Tanım ve Kullanım
  • template<typename T> class
  • örnekleme (Stack<int>)
  • üye fonksiyonları sınıf dışı tanımlama
  • header içinde tanım zorunluluğu
  • açık örnekleme
  • derleme hata mesajlarını okuma
Modül 2
Konteyner Yazımı
  • Stack<T> dinamik dizi
  • kapasite büyütme
  • kopya ve move (Rule of 5)
  • iteratör sağlama
  • initializer_list constructor
  • istisna güvenliği
Modül 3
Tür Dışı ve Varsayılan Parametreler
  • template<typename T, size_t N>
  • Array<T,N> sabit boyutlu sınıf
  • varsayılan tür argümanı (Allocator)
  • sınıf şablonu parametreleri sırası
  • kısıtlar (static_assert)
  • constexpr üyeler
Modül 4
CTAD
  • Sınıf şablonu argüman çıkarımı (C++17)
  • açıklama kılavuzları (deduction guides)
  • std::pair ve vector örnekleri
  • çıkarımın başarısız olduğu durumlar
  • make_ fonksiyonları ile karşılaştırma
  • initializer_list ile çıkarım
Günün hedefiKatılımcı, özelleştirme ve üye şablonlarla sınıf şablonunu özelleştirip genişletir.
Modül 1
Tam Özelleştirme
  • template<> class Stack<bool>
  • bit paketleme örneği
  • üye fonksiyon özelleştirme
  • özelleştirme kuralları
  • ayrı tanım gereksinimi
  • std::vector<bool> tartışması
Modül 2
Kısmi Özelleştirme
  • İşaretçi türü için özelleştirme (T*)
  • kısmi özelleştirme seçimi
  • referans ve const türleri
  • sınıf şablonlarında aşırı yükleme olmaması
  • yardımcı sınıf şablonu
  • tür özelliği (trait) yazımı
Modül 3
Üye Şablonlar ve Bağımlı İsimler
  • Üye fonksiyon şablonu (dönüştürücü constructor)
  • typename ile bağımlı tür
  • template anahtar sözcüğü
  • iki aşamalı arama
  • this-> kullanımı
  • kalıtımda şablon tabanlı sınıf
Modül 4
Friend, Static ve Proje
  • Şablonlarda friend bildirimi
  • statik üye ve örnek başına çoğaltma
  • şablon kalıtımı ve CRTP girişi
  • LinkedList<T> projesi
  • birim testi
  • derleme süresi ve kod şişmesi

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Sınıf şablonu

Genel bir sınıf şablonu tanımlayıp farklı türlerle kullanabilirsiniz.

🧠
Header kuralı

Şablon üye tanımlarının header yerleşimini doğru yönetebilirsiniz.

🔧
Konteyner yazımı

Stack ve Array gibi konteynerleri Rule of 5 uyumlu yazabilirsiniz.

📐
Non-type parametre

Boyut parametreli sabit boyutlu sınıf şablonları yazabilirsiniz.

🧪
CTAD

Sınıf şablonu argüman çıkarımı ve açıklama kılavuzu yazabilirsiniz.

🚀
Özelleştirme

Tam ve kısmi özelleştirmeyi doğru uygulayabilirsiniz.

🔍
Üye şablon

Üye şablonlarla dönüştürücü constructor tanımlayabilirsiniz.

📦
Bağımlı isimler

typename ve template anahtar sözcüklerini doğru kullanabilirsiniz.

Kimler İçin Uygundur?

  • Fonksiyon şablonlarını bilen
  • kendi genel konteyner ve yardımcı sınıflarını yazmak isteyen C++ geliştiricileri için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Fonksiyon şablonlarını bilen ve kendi genel konteyner ve yardımcı sınıflarını yazmak isteyen C++ geliştiricileri için uygundur.
Fonksiyon şablonlarını bilmem şart mı?
Evet, temel fonksiyon şablonu bilgisi beklenir.
Şablon tanımı neden header'da olur?
Derleyicinin örnekleme anında tanıma ihtiyacı vardır; açık örnekleme alternatifi de gösterilir.
Concepts var mı?
Hayır; kısıtlar static_assert düzeyinde, concepts ileri eğitimdedir.
Hangi konteynerler yazılacak?
Stack<T>, Array<T,N> ve LinkedList<T>.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. C++: Using Class Templates Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre2 gün
SeviyeOrta Seviye
FormatOnline / Yüz Yüze / Hibrit
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

C ve C++C++ Inheritance & Polymorphism: Understanding & Using Polymorphism Eğitimi
Yazılım Geliştirme Eğitimleri

C++ Inheritance & Polymorphism: Understanding & Using Polymorphism Eğitimi

2 günOrtaOnline / Yüz Yüze / Hibrit

C++ polimorfizm eğitimi: virtual fonksiyonlar, dinamik bağlama, vtable ve vptr, override, nesne dilimleme, dynamic_cast, sanal çağrı maliyeti ve CRTP alternatif

Detayları Gör →
C ve C++C++ Inheritance & Polymorphism: Using Inheritance for is-a Relationships Eğitimi
Yazılım Geliştirme Eğitimleri

C++ Inheritance & Polymorphism: Using Inheritance for is-a Relationships Eğitimi

2 günOrtaOnline / Yüz Yüze / Hibrit

C++ kalıtım ve is-a ilişkileri eğitimi: public/private kalıtım, Liskov ikame ilkesi, Kare-Dikdörtgen sorunu, kompozisyon seçimi ve doğru sınıf hiyerarşisi tasar

Detayları Gör →
C ve C++C++ Standard Template Library Algorithms and Operations Eğitimi
Yazılım Geliştirme Eğitimleri

C++ Standard Template Library Algorithms and Operations Eğitimi

2 günOrtaOnline / Yüz Yüze / Hibrit

C++ STL algoritmaları eğitimi: iteratörler, sort, find_if, lower_bound, transform, remove-erase, partition, accumulate, reduce, lambda ve ranges.

Detayları Gör →
C ve C++C++ Temel Eğitimi
Yazılım Geliştirme Eğitimleri

C++ Temel Eğitimi

2 günBaşlangıçOnline / Yüz Yüze / Hibrit

C++ temel eğitimi: derleme süreci, değişkenler, operatörler, if/switch, döngüler, fonksiyonlar, vector, string, işaretçiler, dosya işlemleri ve temel sınıflar.

Detayları Gör →
C ve C++C++ Updates Eğitimi
Yazılım Geliştirme Eğitimleri

C++ Updates Eğitimi

2 günOrtaOnline / Yüz Yüze / Hibrit

C++ Updates eğitimi: C++11, 14, 17, 20 ve 23 yenilikleri; lambda, move, optional, concepts, ranges, coroutines, modules ve std::format ile geçiş planı.

Detayları Gör →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn