C++: OVERLOADING ARITHMETIC & RELATIONAL OPERATORS EĞİTİMİ

Aritmetik ve karşılaştırma operatörlerini doğru yükleyin

Aritmetik, karşılaştırma, artırma, bileşik atama operatörleri ile Fraction, Money ve BigInt sınıfı tasarımı

C++: Overloading Arithmetic ve Relational Operators eğitiminde ikili ve tekli aritmetik operatörler, bileşik atama, ön ve son ek artırma, eşitlik ve sıralama operatörleri, C++20 spaceship ile Fraction, Money ve BigInt sınıfları tasarlanır.

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

Eğitim Hakkında

Aritmetik operatörler, ilişkisel operatörler, <=> ve değer tipi tasarımı

Bu eğitim, değer semantikli sınıflar için aritmetik ve ilişkisel operatörleri eksiksiz ve tutarlı yazmayı anlatır. Katılımcılar +, -, *, / ve % operatörleri, bileşik atama (+=) üzerinden ikili operatör yazımı, ön/son ek ++ ve --, tekli operatörler, ==, !=, <, <=, >, >=, C++20 <=> ve = default, Boost.Operators benzeri yaklaşım, taşma ve sıfıra bölme gibi kenar durumlarını Fraction, Money ve BigInt örnekleriyle uygular.

Süre ve Format

2 Gün. Her gün dört modül; 1. gün Aritmetik Operatörler; 2. gün İlişkisel Operatörler ve Tutarlılık.

Seviye

Orta Seviye — Aritmetik operatörler, ilişkisel operatörler, <=> ve değer tipi tasarımı

Öğrenme Metodu

Katılımcılar Fraction, Money ve basit BigInt sınıflarını yazar; her operatör için birim testleri geliştirir.

Neden Bu Eğitim?

🎯Tam değer tipi

Matematiksel tutarlı, sürpriz içermeyen sayısal sınıflar yazarsınız.

🛠️Az kod

Bileşik atama ve <=> ile operatör sayısını ve tekrarını azaltırsınız.

🚀Kenar durumlar

Taşma, yuvarlama ve eşitlik tuzaklarını önlersiniz.

Anahtar Konular

c++ aritmetik operatörilişkisel operatörleroperator<=>spaceship operatörüstrict weak orderingoperator++ ön ek son ekbileşik atama operatörüc++ fraction sınıfıc++ değer tipioperator overloading
“Sayı gibi davranan bir sınıf, sayı kadar öngörülebilir olmalıdır.”

Ön Koşullar

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

1
Operatör temeli

Temel operator+ ve operator== yazımı bilinmelidir.

2
Sınıf bilgisi

Constructor, const üye ve Rule of 3/5 temel düzeyde bilinmelidir.

3
Test deneyimi

Catch2 veya Google Test gibi bir test çerçevesine aşinalık faydalıdır.

4
Derleyici

C++17 destekli (C++20 için <=> bölümünde güncel) derleyici gerekir.

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ı, bileşik atama temelli, tutarlı aritmetik operatör kümesi yazar.
Modül 1
İkili Aritmetik
  • operator+, -, *, /, %
  • üye ve global seçimi
  • sol ve sağ operand dönüşümleri
  • karışık tür işlemleri (Fraction + int)
  • değer döndürme ve RVO
  • sonuç türü tasarımı
Modül 2
Bileşik Atama
  • operator+= üye olarak yazım
  • + operatörünü += üzerinden kurma
  • kopya parametre deyimi
  • self-assignment
  • zincirleme (a += b += c)
  • referansla dönüş
Modül 3
Tekli ve Artırma
  • Tekli + ve -
  • ön ek ++ (referans) ile son ek ++ (int kukla parametre, değer)
  • verimlilik farkı
  • iteratör benzeri sınıf
  • operator! ve operator~
  • bool dönüşümü
Modül 4
Kenar Durumlar
  • Sıfıra bölme ve istisna
  • taşma tespiti
  • yuvarlama (Money)
  • Fraction sadeleştirme (gcd)
  • negatif sayı kuralları
  • BigInt toplama algoritması
Günün hedefiKatılımcı, tutarlı karşılaştırma kümesi yazıp C++20 ile sadeleştirir.
Modül 1
Eşitlik Operatörleri
  • operator== ve != ilişkisi
  • üye ve global yazım
  • kayan noktalı eşitlik sorunu
  • eşdeğerlik ve eşitlik
  • hash ile uyum
  • C++20 ile != otomatik üretimi
Modül 2
Sıralama Operatörleri
  • operator<'dan <=, >, >= üretme
  • strict weak ordering kuralları
  • std::set ve std::map uyumu
  • std::sort ile kullanım
  • lexicographical_compare
  • tie ile çok alanlı karşılaştırma
Modül 3
C++20 Spaceship
  • operator<=> ve strong_ordering, weak_ordering, partial_ordering
  • = default ile otomatik üretim
  • yeniden yazılmış (rewritten) adaylar
  • karışık tür karşılaştırma
  • geçiş stratejisi
  • compare_three_way ve std::ranges::less
Modül 4
Proje ve Kalite
  • Fraction + Money + BigInt proje birleştirme
  • Boost.Operators ve CRTP alternatifi
  • birim testi
  • operatör tablosu kontrol listesi
  • performans ölçümü
  • yaygın hatalar özeti

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Aritmetik operatör

+, -, *, / operatörlerini tutarlı yazabilirsiniz.

🧠
Bileşik atama

+= üzerinden + operatörünü kurabilirsiniz.

🔧
Artırma

Ön ek ve son ek ++ operatörlerini doğru yazabilirsiniz.

📐
Kenar durumlar

Sıfıra bölme, taşma ve yuvarlama durumlarını yönetebilirsiniz.

🧪
Eşitlik

==, != ve eşitlik semantiğini doğru tanımlayabilirsiniz.

🚀
Sıralama

<, <=, >, >= ile strict weak ordering sağlayabilirsiniz.

🔍
Spaceship

C++20 <=> ile karşılaştırma kodunu sadeleştirebilirsiniz.

📦
Değer tipi

Fraction, Money ve BigInt gibi eksiksiz değer tipleri geliştirebilirsiniz.

Kimler İçin Uygundur?

  • Operatör aşırı yüklemeyi temel düzeyde bilen
  • eksiksiz değer tipi sınıfları tasarlamak isteyen C++ geliştiricileri için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Operatör aşırı yüklemeyi temel düzeyde bilen ve eksiksiz değer tipi sınıfları tasarlamak isteyen C++ geliştiricileri için uygundur.
Operator temelini bilmek şart mı?
Evet; üye/global ve const doğruluğu bilinmeli, gerekirse Getting Started with Operator Overloading eğitimi önerilir.
C++20 şart mı?
Hayır, C++17 ile de çalışılır; <=> bölümü C++20 derleyici ister.
Test çerçevesi kullanılacak mı?
Catch2 ile birim testleri yazılır.
BigInt tam implementasyon mu?
Toplama ve çıkarma ile sınırlı eğitim amaçlı basit bir gerçekleme yapılır.

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++: Overloading Arithmetic & Relational Operators 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++ 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 →
C ve C++C++: Creating a Complete Game in SFML Eğitimi
Yazılım Geliştirme Eğitimleri

C++: Creating a Complete Game in SFML Eğitimi

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

C++ ile SFML'de eksiksiz oyun geliştirme eğitimi: oyun durumu yönetimi, sprite animasyon, tilemap, çarpışma, düşman yapay zekâsı, ses, menü ve paketleme.

Detayları Gör →
C ve C++C++: Function Templates with Multiple Parameters & Non-type Parameters Eğitimi
Yazılım Geliştirme Eğitimleri

C++: Function Templates with Multiple Parameters & Non-type Parameters Eğitimi

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

C++ çok parametreli fonksiyon şablonları ve non-type parametreler: tür çıkarımı, common_type, varsayılan şablon argümanı, template<int N>, constexpr ve aşırı yü

Detayları Gör →
C ve C++C++: Getting Started with Operator Overloading Eğitimi
Yazılım Geliştirme Eğitimleri

C++: Getting Started with Operator Overloading Eğitimi

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

C++ operatör aşırı yükleme başlangıç eğitimi: üye ve global operatörler, friend, operator+, operator==, operator[], const doğruluğu ve C++20 spaceship operatörü

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