C++ INHERITANCE & POLYMORPHISM: UNDERSTANDING & USING POLYMORPHISM EĞİTİMİ

Polimorfizmi anlayın ve doğru kullanın

Sanal fonksiyonlar, dinamik bağlama, vtable, override, dynamic_cast ve çalışma zamanı polimorfizmi

C++ Inheritance ve Polymorphism: Understanding ve Using Polymorphism eğitiminde dinamik bağlama, virtual/override, vtable ve vptr, nesne dilimleme, dynamic_cast, covariant dönüş, sanal çağrı maliyeti ve CRTP/variant alternatifleri işlenir.

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

Eğitim Hakkında

Dinamik bağlama, vtable, virtual/override, dynamic_cast ve polimorfik tasarım

Bu eğitim, C++ çalışma zamanı polimorfizminin nasıl işlediğini ve doğru kullanımını anlatır. Katılımcılar statik ve dinamik bağlama, virtual anahtar sözcüğü, vtable ve vptr mekanizması, override ve final, taban işaretçisi/referansıyla çağrı, nesne dilimleme, dynamic_cast ve RTTI, covariant dönüş türleri, sanal çağrı maliyeti ve statik polimorfizm alternatiflerini uygular.

Süre ve Format

2 Gün. Her gün dört modül; 1. gün Dinamik Bağlama ve vtable; 2. gün Polimorfizmi Kullanma ve Alternatifler.

Seviye

Orta Seviye — Dinamik bağlama, vtable, virtual/override, dynamic_cast ve polimorfik tasarım

Öğrenme Metodu

Katılımcılar vtable adreslerini ve sanal çağrıları debugger ve derleyici çıktılarında inceleyerek mekanizmayı gözlemler.

Neden Bu Eğitim?

🎯Mekanizmayı görün

vtable ve vptr'nin nasıl çalıştığını gözlemleyerek polimorfizmi netleştirirsiniz.

🛠️Hatasız kullanım

Dilimleme, override ve dönüşüm hatalarını önlersiniz.

🚀Performans bilinci

Sanal çağrının maliyetini ölçer ve alternatifleri değerlendirirsiniz.

Anahtar Konular

c++ polimorfizmvirtual fonksiyonlarvtable vptrdinamik bağlamadynamic_cast rttinesne dilimlemeoverride finalcrtpcovariant dönüşc++ inheritance polymorphism
“Polimorfizm, aynı mesajı gönderip her nesnenin kendi dilinde yanıt vermesidir.”

Ön Koşullar

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

1
Kalıtım temeli

Taban/türemiş sınıf ve constructor/destructor bilgisi gereklidir.

2
İşaretçi ve referans

Taban sınıf işaretçisi/referansı kullanımı bilinmelidir.

3
Derleyici ve debugger

g++/Clang ve GDB veya Visual Studio debugger kullanılabilmelidir.

4
C++11

Temel C++11 sözdizimi (override, nullptr) bilinmelidir.

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ı, sanal fonksiyon çağrısının nasıl çözümlendiğini açıklar ve doğru uygular.
Modül 1
Statik ve Dinamik Bağlama
  • Derleme zamanı ve çalışma zamanı bağlama
  • non-virtual çağrı sonucu
  • fonksiyon gizleme (hiding)
  • taban işaretçisiyle çağrı
  • polimorfizmin amacı
  • örnek hayvan ve şekil hiyerarşisi
Modül 2
Virtual Fonksiyonlar
  • virtual anahtar sözcüğü
  • override ve final
  • imza uyuşmazlığı hataları
  • const ve referans niteleyici
  • varsayılan argümanlar tuzağı
  • sanal destructor
Modül 3
vtable ve vptr
  • vtable yapısı
  • her nesnede vptr
  • debugger'da vtable inceleme
  • constructor sırasında vptr değişimi
  • sanal çağrının derleme çıktısı
  • sizeof etkisi
Modül 4
Dilimleme ve Referans
  • Değerle geçirme ve nesne dilimleme
  • referans/işaretçi ile geçirme
  • vector<Taban> hatası
  • reference_wrapper
  • unique_ptr kapsayıcılar
  • kopyalama ve clone deyimi
Günün hedefiKatılımcı, polimorfizmi güvenle kullanıp maliyetini ölçer ve alternatiflerini değerlendirir.
Modül 1
Tür Dönüşümü ve RTTI
  • dynamic_cast ve başarısızlık
  • typeid ve type_info
  • static_cast riskleri
  • RTTI maliyeti ve kapatma
  • ziyaretçi deseni ile dynamic_cast azaltma
  • tasarım kokusu olarak downcast
Modül 2
Covariant Dönüş ve Genişletme
  • Covariant dönüş türleri
  • sanal clone()
  • NVI deyimi
  • ekleme noktaları
  • final sınıflar
  • Liskov ikame ilkesi ihlalleri ve davranışsal alt tür
Modül 3
Maliyet ve Performans
  • Sanal çağrı maliyeti ölçümü
  • inlining kaybı
  • dal tahmini ve önbellek etkisi
  • Google Benchmark
  • devirtualization
  • nesne yerleşimi ve önbellek dostu tasarım
Modül 4
Alternatifler
  • CRTP ile statik polimorfizm
  • std::variant ve std::visit
  • std::function ve tür silme (type erasure)
  • concepts ile genel programlama
  • ne zaman hangisi
  • örnek yeniden tasarım

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Bağlama

Statik ve dinamik bağlama farkını açıklayabilirsiniz.

🧠
Virtual kullanımı

virtual, override ve final'ı hatasız kullanabilirsiniz.

🔧
vtable

vtable ve vptr mekanizmasını debugger'da gözlemleyebilirsiniz.

📐
Dilimleme

Nesne dilimleme hatasını tanıyıp referans veya akıllı işaretçiyle önleyebilirsiniz.

🧪
Tür dönüşümü

dynamic_cast ve RTTI'yi bilinçli kullanabilirsiniz.

🚀
LSP

Liskov ikame ilkesine aykırı hiyerarşileri tespit edebilirsiniz.

🔍
Maliyet ölçümü

Sanal çağrı maliyetini benchmark ile ölçebilirsiniz.

📦
Alternatifler

CRTP ve variant ile statik polimorfizm uygulayabilirsiniz.

Kimler İçin Uygundur?

  • Kalıtımı bilen
  • polimorfizmi derinlemesine anlamak isteyen C++ geliştiricileri için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Kalıtımı bilen ve polimorfizmi derinlemesine anlamak isteyen C++ geliştiricileri için uygundur.
Polimorfizmin performans maliyeti büyük mü?
Çoğu uygulamada küçüktür; maliyet benchmark ile ölçülür ve kritik yollarda alternatifler gösterilir.
Debugger kullanımı gerekli mi?
vtable inceleme için önerilir, ancak çıktı örnekleriyle de takip edilir.
RTTI kapatmak mümkün mü?
Evet, gömülü ortamlarda kapatılır; alternatif tasarımlar tartışılır.
Önceki kalıtım eğitimini almış olmalı mıyım?
Zorunlu değil; kalıtım temeli yeterlidir.

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++ Inheritance & Polymorphism: Understanding & Using Polymo 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++OOP in C++: Copy Constructors, Nested Classes, & Namespaces Eğitimi
Yazılım Geliştirme Eğitimleri

OOP in C++: Copy Constructors, Nested Classes, & Namespaces Eğitimi

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

OOP in C++: Copy Constructor, Nested Class ve Namespace eğitimi: 2 gün, uygulamalı kod egzersizleri ve DVA katılım sertifikası ile konuyu uçtan uca öğrenin.

Detayları Gör →
C ve C++OOP in C++: Instantiating Objects Using Constructors Eğitimi
Yazılım Geliştirme Eğitimleri

OOP in C++: Instantiating Objects Using Constructors Eğitimi

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

OOP in C++: Constructor ile Nesne Oluşturma eğitimi: Constructor Temelleri ve İleri Nesne Oluşturma uygulamalı lab çalışmalarıyla işlenir. DVA katılım sertifika

Detayları Gör →
C ve C++OOP in C++: Using Static Members & Destructors Eğitimi
Yazılım Geliştirme Eğitimleri

OOP in C++: Using Static Members & Destructors Eğitimi

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

OOP in C++: Static Üyeler ve Destructor eğitimi: Static Üyeler ve Destructor ve Kaynak Yönetimi konularını uygulamalı örneklerle öğrenin. DVA katılım sertifikal

Detayları Gör →
C ve C++OOP in C++: Using the this Pointer & const Members Eğitimi
Yazılım Geliştirme Eğitimleri

OOP in C++: Using the this Pointer & const Members Eğitimi

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

OOP in C++: this İşaretçisi ve const Üyeler eğitimi: this İşaretçisi ve const Üyeler ve const-correctness uygulamalı lab çalışmalarıyla işlenir. DVA katılım ser

Detayları Gör →
C ve C++Pointers and References in C++: Allocating Memory with New & Delete Operators Eğitimi
Yazılım Geliştirme Eğitimleri

Pointers and References in C++: Allocating Memory with New & Delete Operators Eğitimi

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

C++ new ve delete ile Bellek Tahsisi eğitimi: 2 gün, uygulamalı kod egzersizleri ve DVA katılım sertifikası ile konuyu uçtan uca öğrenin.

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