Makaleyi arkadaşlarınızla paylaşarak sitenin geliştirilmesine yardımcı olun!

C++'da Aşırı Yüklemeye ve Geçersiz Kılmaya Giriş

C++'ta Aşırı Yükleme ve Geçersiz Kılma için temel tanımları alarak başlayalım.

Overloading: İşlev adı aynıdır, ancak parametreler ve geri dönüş türü değişir. Derleme zamanı sırasında aşırı yüklenmiş fonksiyonlar arasındaki farkı öğreneceğimiz için buna Derleme zamanı polimorfizmi de denir.

Overriding: Bu, Nesne Yönelimli Programlama dilinin bir özelliğidir; burada alt sınıf işlevi, ebeveynin sınıf işleviyle aynı ada sahiptir.Nesne bildirildiğinde ve nesneler kullanılarak işlevlere erişildiğinde, geçersiz kılma işlevi devreye girdiğinden; yani kodun yürütülmesi sırasında, bu geçersiz kılma kavramına çalışma zamanı polimorfizmi de denir.

Sözdizimi ve programlama yöntemlerini ileriki bölümlerde bulabilirsiniz.

Aşırı Yükleme ve Geçersiz Kılma Sözdizimi

İşte aşağıda verilen aşırı yükleme ve geçersiz kılmanın sözdizimi.

Aşırı Yükleme Sözdizimi:

return_type işlev_adı ( int param_1, dize param_2) { //işlev tanımı } dönüş_tipi_2 işlev_adı ( int param_1, dize param_2) { //işlev tanımı } dönüş_türü işlev_adı ( int param_1, int param_2) { //işlev tanımı } 

Üçü birlikte Aşırı Yükleme kavramının bir örneğini oluşturabilir.

Geçersiz kılma Sözdizimi:

Sınıf A { Genel: geçersiz işlev_adı ( int param_1, int param_2) { //işlev tanımı } };Sınıf B: Sınıf A { Genel: geçersiz işlev_adı ( int param_1 , int param_2) { //işlev tanımı } };

Yukarıdaki, geçersiz kılma işlevselliğinin sözdizimidir. Ana çıktı, bir nesneyi tanımladığımızda ve Sınıf A ve Sınıf B'den aynı yöntemleri çağırdığımızda çıkarılabilir. “Nesne” geçersiz kılma işlevinde önemli bir rol oynar.

Şimdi işlevlerini daha iyi tanımak için birer örnek görelim.

C++'da Aşırı Yükleme ve Geçersiz Kılma Örnekleri

İşte, aşağıda verilen çıktıyla birlikte C++'ta Aşırı Yükleme ve Geçersiz Kılma örnekleri:

Örnek 1 - Aşırı Yükleme

Basit bir programla başlayalım.

Kod:

ad alanı std kullanarak dahil et; int hesap(int); yüzer kalk(yüzer); int hesap(int, kayan nokta); int ana() { int a=10; kayan nokta b=11.2; hesap(a); hesap(b); hesap(a,b); } int calc(int a) { int tot=aa; cout <<" Area of Square A is: " <<

Çıktı:

Şimdi, a, b değişkenleri için yanlış veri türü değerleri verirsem ne olur?

Kod:

int main() { int a=10.8; yüzer b=12; hesap(a); hesap(b); hesap(a,b); }

Yukarıdaki programın sadece ana kısmını değiştirdim, işte çıktı.

Çıktı:

Float değerini int veri tipine çevireceği için bize çıktıyı verir ve çıktıyı verir.

Şimdi bir alıştırma olarak işlev dönüş türünü ve parametrelerini değiştirmeyi deneyebilir ve onlarla oynayabilirsiniz.

Örnek 2 - Geçersiz Kılma

Aşağıda C++'da geçersiz kılma işlevine bir örnek verebiliriz.

Kod:

ad alanı std kullanarak dahil et; class First { public: virtual void Calc( int a , float b) { int tot=ab; cout <<"Square of First class is: "<

Çıktı:

Yukarıdaki kod sayesinde, birinci sınıf nesnenin referansı ikinci sınıfımıza göre oluşturulan nesneye atandığında bulabiliriz. Ardından, temel sınıfın nesnesini kullanarak geçersiz kılma yöntemine eriştiğimizde, türetilmiş sınıf çıktısının görüntülendiğini açıkça görebiliriz. Bu kavram geçersiz kılma olarak adlandırılır. Birinci ve İkinci sınıflar sırasıyla Temel ve Türetilmiş Sınıftır. Yukarıdakilerin çıktısı aşağıdaki gibidir:

Bir alıştırma olarak, bir işlevi birlikte geçersiz kılmayı ve aşırı yüklemeyi deneyebilir ve mümkün olup olmadığını kontrol edebilir veya çıktının nasıl olduğunu kontrol edebilir misiniz?

Nasıl Çalışır?

Nasıl çalıştığını bize bildirin.

Aşırı yükleme: Burada not alabileceğimiz özel bir nokta yok. Döndürme tipinin veya fonksiyonun içindeki parametrelerin değişiklik gösterdiğinden emin olmamız gerekiyor.Yukarıda programlama yapısına bakacak olursak, önce fonksiyonlar bildirilir ve uygulamaları verilir.

Geçersiz kılma: Kalıtımın sözdizimi ve işlevlerin uygulanması burada dikkat edilmesi gereken kilit noktalardır. Yukarıdaki örnekte, public anahtar kelime ile fonksiyon bildiriminin oldukça farklı olduğunu görebiliriz.

Ve C++'da sınıf tanımı noktalı virgül (;) ile sonlandırılır ve temel sınıfı alt sınıfa miras almamız gerekirse iki nokta üst üste (:) sembolünü kullanırız. Geçersiz kılmanın ana işlevi, nesneler sınıf için bildirildiğinde ve başlatıldığında gözlemlenir. Nesneleri kullanarak işlevleri çağırdıktan sonra, geçersiz kılma kavramını net bir şekilde anlayabiliriz.

Avantajlar

Aşağıda belirtilen avantajlar aşağıdadır.

  • Bu geçersiz kılma ve aşırı yüklemenin ana avantajlarından biri zamandan tasarruftur.
  • Bellek alanından tasarruf edin.
  • Kodun okunabilirliği artırıldı.
  • Burada, işlev aşırı yükleme kavramı için, farklı işlev adlarının kullanımını ortadan kaldırarak farklı işlemler için farklı aynı işlev adlarını kullanabiliriz.
  • Kodların esnekliği ve bakımı kolaylaşıyor.
  • Geçersiz kılma durumunda, alt sınıf üst sınıfın işlevlerine sahip olabilir ve hatta bu işlevin kendi uygulamasına sahip olabilir.
  • Nesnelere başvurulabilir ve hem ana sınıfın hem de alt sınıfın işlevlerine alt sınıf tarafından erişilebilir.

Sonuç

Artık hem aşırı yükleme hem de geçersiz kılma kavramlarını açıkça anladık. Aşırı yüklemede, içindeki işlev tanımı aynı veya farklı olsa da, aşırı yüklenen işlevlerdeki farkın ya dönüş tipine ya da parametrelere göre var olduğundan emin olmalıyız.

Ve override (override) durumunda ise nesne yönelimli bir programlama konsepti olduğu için sadece kalıtım fonksiyonunu kullanan sınıflar şeklinde kullanabiliriz.

Makaleyi arkadaşlarınızla paylaşarak sitenin geliştirilmesine yardımcı olun!