C++'da İşlev Geçersiz Kılma Açıklaması

Yayınlanan: 2022-11-09

İçindekiler

İşlev Nedir?

İşlev, bir programda öngörülen bir görevi yürütmek için bir koda ait olan bir parçadır. Kalıtım uygulamasını geçersiz kılmak, bu işlev için bir zorunluluk olduğunu öğrenmek için kalıtım hakkında ilk elden bilgiye sahip olmak önemlidir. Bir C++ işlevi, bir görevi yürütmek için bir araya getirilmiş ifadeler topluluğudur. Tüm programların bir main() işlevi vardır ve belirli programların ek işlevleri vardır. İşlev bildirimi, işlev tanımına göre işlev gövdesini belirlemek için işlev adını, dönüş türünü ve parametreleri derleyiciye gönderir. Bir işlev bir prosedür, bir yöntem veya bir alt program olabilir ve tüm C++ işlevleri bir başlık ve bir gövdeden oluşur.

Bir C++ işlevinin sözdizimi: -

dönüş_tipi işlev_adı(parametre listesi) {

fonksiyon gövdesi

}

Bileşenler : -

  • Dönüş Türü- Bu, işlevin dönüş değeri türünü belirtir.
  • İşlev Adı- Bu, işlev imzasını ve parametre listesini oluşturan işlevin adını temsil eder.
  • Parametreler- Bu, işlevin döndürdüğü değer için bir yer tutucudur. Bir fonksiyon çağrıldığında parametreye iletilen değer gerçek parametre olarak bilinir.
  • İşlev Gövdesi - İşlev gövdesi, işlevin görevini tanımlayan ifadelerin listesini içerir.

Bir Fonksiyon Nasıl Çağırılır

Kullanımdan önce bir işlev çağrılmalı veya çağrılmalıdır, ardından gerekli görevi gerçekleştirmek için kontrol ona aktarılır. Return ifadesi bundan sonra kontrolü ana programa geri verir. Bir işlevi çağırmak için parametreler ve işlev adı geçmelidir. Argümanlar, bir işleve çağrılırken birden çok yolla geçirilebilir. Çağrı türleri aşağıdaki gibidir: -

  • Değere Göre Çağrı
  • Referansa Göre Arayın
  • İşaretçi ile Çağrı

Dünyanın En İyi Üniversitelerinden Online Yazılım Geliştirme Kursları öğrenin. Kariyerinizi hızlandırmak için Yönetici PG Programları, Gelişmiş Sertifika Programları veya Yüksek Lisans Programları kazanın.

C++'da İşlev Geçersiz Kılma

C++ geçersiz kılma, aynı adı taşıyan bir işlevin tanımlandığı bir fikirdir. Geçersiz kılmadaki temel sınıf işlevi, temel sınıf işlevini geçersiz kılan türetilmiş sınıf içinde yeniden tanımlanır. Çalışma zamanı polimorfizminin uygulanması, işlevi geçersiz kılma olarak da tanımlanabilir. Burada, programın çalışma zamanı işlevi geçersiz kılar.

İşlev geçersiz kılma, programcıların üst sınıfında bulunan alt sınıfta bulunan bir işlevi kullanmasına olanak tanır. Sonuç olarak, alt sınıf, üst sınıfta bulunan her veri üyesini ve üye işlevlerini devralır. Herhangi bir alt sınıf işlevselliğini geçersiz kılmak için, işlevi geçersiz kılmayı uygulamanız gerekir. İşlev geçersiz kılma, alt sınıf içinde üst sınıf işlevinin yeni bir sürümünü oluşturma anlamına gelir.

C++'da İşlev Geçersiz Kılmanın Uygulanması İçin Sözdizimi

Hem temel hem de türetilmiş sınıfta tanımlanan aynı işlev, türetilmiş sınıftan nesne kullanılarak çağrıldığında, türetilmiş sınıf işlevini yürütür. Bu, C++'da geçersiz kılma işlevidir.

Aşağıda, C++'da geçersiz kılma işlevinin uygulanması için en çok kullanılan sözdizimi verilmiştir:

// İşlev geçersiz kılmayı gösteren C++ programı

#include <iostream>

ad alanı std kullanarak;

sınıf Temel {

halka açık:

geçersiz baskı() {

cout << “Temel İşlev” << endl;

}

};

class Türetilmiş : public Base {

halka açık:

geçersiz baskı() {

cout << “Türetilmiş İşlev” << endl;

}

};

int ana() {

Türetilmiş türetilmiş1;

türetilmiş1.print();

0 döndür;

}

Çıktı

Türetilmiş İşlev

Bu, türetilmiş sınıf içindeki temel sınıf işlevini yeniden tanımlar. Bu nedenle, işlev geçersiz kılmayı sağlamak için dönüş türü, işlev_parametreleri ve işlev_adı aynı olmalıdır.

Yazılım Mühendisliği ile İlgili Popüler Kurslar ve Makaleler

Popüler Programlar
Yazılım Geliştirmede Yönetici PG Programı - IIIT B Blockchain Sertifika Programı - PURDUE Siber Güvenlik Sertifika Programı - PURDUE Bilgisayar Bilimlerinde Yüksek Lisans - IIIT B
Diğer Popüler Makaleler
ABD'de Bulut Mühendisi Maaşı 2021-22 ABD'de AWS Çözüm Mimarı Maaşı ABD'de Arka Uç Geliştirici Maaşı ABD'de Ön Uç Geliştirici Maaşı
ABD'de Web geliştirici Maaşı 2022'de Scrum Master Mülakat Soruları 2022'de Siber Güvenlikte Kariyere Nasıl Başlanır? Mühendislik Öğrencileri için ABD'de Kariyer Seçenekleri

C++'da İşlev Geçersiz Kılma Nasıl Çalışır?

OOP'ler, türetilmiş sınıfların üst sınıfın özelliklerini devralmasına izin vermelidir. İşlev geçersiz kılma, programcıların belirli bir türetilmiş sınıftaki bir sınıf içindeki herhangi bir işlevi geçersiz kılmalarını sağlar. Bu, özellikle bir alt sınıf işlevsellik değişkenine ihtiyaç duyduğunda kullanışlıdır.

Aşağıda, daha iyi anlamanız için C++'da işlev geçersiz kılmanın basit bir örneği verilmiştir:

#include <iostream>

ad alanı std kullanarak;

sınıf parent_class

{

halka açık:

sanal boşluk baskı()

{

cout << “\nBu print() yöntemidir”

“BaseClass”;

}

};

türetilmiş_sınıf sınıfı: public parent_class

{

halka açık:

// İşlev Geçersiz Kılma – yeni tanımı

// temel sınıfın yöntemini yazdır

geçersiz baskı()

{

cout << “\nBu print() yöntemidir”

” Türetilmiş Sınıfın”;

}

};

// Sürücü kodu

int ana()

{

türetilmiş_sınıf nesnesi;

obj.print();

}

C++'da Geçersiz Kılan İşleve Erişim

Kapsam çözümleme operatörü, C++'da temel sınıfın geçersiz kılınan işlevine erişmek için kullanılır. Geçersiz kılınan işleve, türetilmiş sınıfın bir nesnesine işaret etmek ve ardından işlevi işaretçiden çağırmak için bir temel sınıf işaretçisi kullanılarak da erişilebilir.

// Geçersiz kılınan işleve erişmek için C++ programı

// kapsam çözünürlük operatörünü kullanarak main() içinde ::

#include <iostream>

ad alanı std kullanarak;

sınıf Temel {

halka açık:

geçersiz baskı() {

cout << “Temel İşlev” << endl;

}

};

class Türetilmiş : public Base {

halka açık:

geçersiz baskı() {

cout << “Türetilmiş İşlev” << endl;

}

};

int ana() {

Türetilmiş türetilmiş1, türetilmiş2;

türetilmiş1.print();

// Base sınıfının print() işlevine erişin

türetilmiş2.Base::print();

0 döndür;

}

Çıktı

Türetilmiş İşlev

Temel İşlev

Sözdizimindeki ifade; türetilmiş2.Base::print(); Base sınıfının print() işlevine erişim sağlar.

Türetilmiş Sınıftan Geçersiz Kılınan İşlevi Çağır

Bir işlevin davranışını değiştirmek için kalıtımı kullanabilirsiniz. Ancak bazen temel/üst sınıf işlevselliğini değiştirmeniz veya değiştirmeniz gerekmez. Bunun yerine, daha fazla işlevsellik eklenmelidir.

Aşağıda, türetilmiş bir sınıftan çağrı geçersiz kılınan işlevinin kullanımına bir örnek verilmiştir.

// Geçersiz kılınan işlevi çağırmak için C++ programı

// türetilmiş sınıfın üye işlevinden

#include <iostream>

ad alanı std kullanarak;

sınıf Temel {

halka açık:

geçersiz baskı() {

cout << “Temel İşlev” << endl;

}

};

class Türetilmiş : public Base {

halka açık:

geçersiz baskı() {

cout << “Türetilmiş İşlev” << endl;

// geçersiz kılınan işlevi çağır

Temel::print();

}

};

int ana() {

Türetilmiş türetilmiş1;

türetilmiş1.print();

0 döndür;

}

Çıktı

Türetilmiş İşlev

Temel İşlev

Bu programda, Override edilen fonksiyon Derived sınıfı içinde çağrılmıştır.

class Türetilmiş : public Base {

halka açık:

geçersiz baskı() {

cout << “Türetilmiş İşlev” << endl;

Temel::print();

}

};

Base::print(); kodu, Derived sınıfındaki geçersiz kılınan işlevi çağırır.

İşlev Aşırı Yüklemesi ve İşlevi Geçersiz Kılma

Genellikle türetilmiş ve temel sınıflar içinde yapılan bir derleme zamanında işlev aşırı yüklemesini gerçekleştirebilirsiniz. Veri türü veya parametrelerin dönüş türü gibi her bir işlevin imzasını değiştirerek birden fazla işlev tanımı sağlar.

Öte yandan, işlev geçersiz kılma, çalışma zamanında gerçekleştirilebilir. Geçersiz kılmadaki temel sınıf, türetilmiş sınıfta aynı parametreler ve aynı dönüş türü ile yeniden tanımlanır. Bu iki işlevi farklı kılan diğer özelliklerin neler olduğunu bulalım.

geçersiz kılma Aşırı yükleme
Miras Sınıf mirası gerektirir Sınıf mirası gerektirmez
İşlev İmzası İmzada, parametre türünde veya sayısında farklılık gösterir. İşlev imzaları aynı kalır
İşlev Kapsamı İşlevler kapsam bakımından farklılık gösterir Aynı kapsama sahip
İşlev Davranışı Türetilmiş bir sınıf işlevi, temel sınıf işlevinden farklı veya ek işlevsellik ile performans gösterdiğinde gereklidir. Aynı adı taşıyan işlevlerin verilen parametrelere göre farklı davranışları olduğunda gereklidir.

Çözüm

C++'da işlev geçersiz kılma, bellek alanından tasarruf etmeye ve herhangi bir kodun okunabilirliğini ve tutarlılığını korumaya yardımcı olur. Ayrıca kodun kolayca yeniden kullanılabilir hale getirilmesine yardımcı olur. Söylemeye gerek yok, eğer programlamada kendiniz için bir gelecek görüyorsanız, fonksiyon geçersiz kılma bilgisi sahip olunması gereken önemli bir beceridir.

Bu alanda kariyerinize hızlı bir başlangıç ​​yapmak için güvenilir ve seçkin bir kursa katılmak istiyorsanız upGrad'da upGrad'ın Bilgisayar Bilimleri Yüksek Lisans programına kaydolabilirsiniz. Bu programın önemli özelliklerinden bazıları şunlardır: -

  • MERN Stack, Mikro Hizmetler, JavaScript vb. öğrenin.
  • Cloud Labs'te sağlıklı öğrenme
  • Netflix, LinkedIn, Facebook vb.'de kullanılan araçlarla denemeler yapın.
  • 10'dan fazla programlama aracı ve dilinde uzmanlaşın
  • 7/24 öğrenci desteği

İşlev geçersiz kılma nasıl gerçekleşir?

C++ geçersiz kılma işlevi, kalıtım yoluyla, yani bir sınıf başka bir sınıfı miras aldığında gerçekleşir. Türetilmiş sınıf ve temel sınıf aynı dönüş tipine, ada ve argüman listesine sahip üye işlevlere sahip olduğunda, buna işlev geçersiz kılma denir.

C++'da işlev aşırı yüklemesi ile işlevi geçersiz kılma arasındaki fark nedir?

İşlev Geçersiz Kılma, işlevler temel ve türetilmiş sınıflarda aynı prototipe sahip olduğunda gerçekleşir. İşlev Aşırı Yükleme, bir sınıfta benzer ada sahip birden fazla işlev bulunduğunda gerçekleştirilir.

C++'da fonksiyon aşırı yüklemesinin özellikleri nelerdir?

C++'da işlev aşırı yüklemesi, öncelikle kod okunabilirliğini geliştirmek için kullanılır. Programcılar bunu çok sayıda fonksiyon adını ezberlemek zorunda kalmamak için kullanırlar. Birden çok işleve, farklı parametrelere ve aynı ada sahip sınıflara Aşırı Yüklenmiş denir.