C++'da Yapıcı Aşırı Yüklemesi Nedir: Özellikleri ve Türleri

Yayınlanan: 2021-05-24

C++, endüstride yaygın olarak kullanılan bir Nesne Yönelimli Programlama Dilidir. C++, 1979 yılında AT & T Bell Laboratuvarlarında Bjarne Stroustrup tarafından geliştirilen OOP'de öncü bir programlama dilidir . C++'ın en sık kullanılan özelliği, içinde bir sınıf oluşturmak olabilir. Bir sınıf içinde, sınıf üyeleri -yöntemler ve değişkenler- oluşturabiliriz.

İçindekiler

Tanıtım

Yapıcılar genellikle nesneler oluşturmak için veya teknik olarak bir nesnenin örneklerini oluşturmak için kullanılır. Çoğu nesne yönelimli programlama dilinde aşırı yüklenirler. Birçok programlama dilinde olduğu gibi, yapıcının adı sınıfın adına göre önceden belirlenir. Bu, tek bir kurucu olabileceğinden, adlandırılmış nesneleri sınırlar. Birden çok kurucunun gerekli olduğu bir senaryoda, aşırı yükleme işlevleri kullanılarak uygulanırlar.

C++'da varsayılan kurucular parametresizdir. Bunlar, karşılık gelen varsayılan değerlerle nesne üyelerinden başlatılır.

Nesneye Dayalı Programlamada kullanılan kavramların aşırı yüklenmesi konusunda adil bir fikriniz olabilir .

yapıcı

Yapıcı (ctor), sınıf tabanlı nesne yönelimli programlamada bir nesne oluşturmak için kullanılan bir programlama tekniğidir. Özel amaçlı bir alt program çağrılarak yeni bir nesne oluşturulur. Sırayla, bir sınıfın nesnelerini başlatan bir sınıfın üye işlevidir. Bu yöntem argümanları kabul eder. Sağlanan parametreler, temel kurucu ve küme üye değişkenleri tarafından kullanılır.

Yapıcının Özellikleri

Yapıcı, sınıfın özel bir üye işlevidir. Aşağıdaki nedenlerle genel üye işlevinden farklıdır:

  • Yapıcı üye genel kapsamlıdır
  • Sınıf bildirme ile aynı ada sahiptir.
  • Ad büyük/küçük harf duyarlıdır
  • Yapıcıların bir dönüş türü yoktur.
  • Varsayılan yapıcı dolaylı olarak oluşturulur.
  • Bir nesne oluştururken, yapıcı otomatik olarak çağrılır.
  • Bir kurucu dolaylı olarak miras alınmaz.
  • Kapsam değiştiriciler için genellikle farklı kuralları vardır.

Yapıcı Türleri

Varsayılan Yapıcılar – Sıfır parametresi olan ve bağımsız değişkeni olmayan yapıcı. Derleyici tarafından oluşturulan örtük yapıcılardır.

Parametreli Yapıcılar , içinden bağımsız değişkenler geçirebileceğiniz yapılardır. Argümanlar, oluşturulan bir nesneyi başlatır. Diğer işlevler için yaptığımıza benzer şekilde, basitçe ona parametreler ekleyerek parametreli bir kurucu oluşturun. Nesneyi başlatmak için yapıcının gövdesindeki parametreleri kullanın. Bu tür yapıcı, genellikle aşırı yükleme için ve ayrıca farklı başlangıç ​​değerlerine sahip nesnelerin çeşitli veri öğelerini başlatmak için kullanılır.

Yapıcıyı Kopyala – Aynı sınıftan başka bir nesneyi kullanarak bir nesneyi başlatmak için kullanılan bir üye işlevidir. Derleyici, varsayılan olarak, nesneler arasında üye bazında bir kopyayı izleyerek her sınıf için bir kopya oluşturucu oluşturur.

C++'da yapıcı

C++'da, bir nesne (yani, bir sınıfın örneği) onu oluşturduğunda bir yapıcı otomatik olarak çağrılır.

Bir kurucu belirtmezsek, c++ derleyicisi bizim için varsayılan bir kurucu oluşturur (parametre beklemez ve sınıf adına sahiptir).

Düzgün yazılmış bir kurucu, ortaya çıkan nesneyi geçerli bir durumda bırakır.

Yapıcı Aşırı Yüklemesi

Yapıcı Aşırı Yüklemesi, bir kurucunun başka bir kurucuyu aşırı yüklemesi olgusudur.

Verilen yapıcı, işlevin aşırı yüklenmesine benzer şekilde aşırı yüklenebilir.

Aşırı yüklenmiş yapıcılar, sınıfın adıyla aynı adı takip eder. Ancak, çeşitli argümanlarda değişir. Bir nesne oluştururken, iletilen argümanların türü, hangi kurucunun çağrılacağını belirler.

Farklı parametrelere sahip birden çok kurucunun mevcudiyeti, programlamada farklı görevlerin gerçekleştirilmesine yardımcı olur.

C++'da Yapıcı Aşırı Yüklemesi

C++'da, bir sınıfta aynı ad altında ancak farklı bir argüman listesi altında birden çok kurucu vardır. C++'daki bu yapıcı aşırı yükleme kavramı, işlev aşırı yüklemesine oldukça benzer.

Genellikle, nesneler için üye değişkenleri farklı şekilde başlatmak için bir sınıfta birden fazla kurucu oluşturmalısınız. Yapıcılara farklı davranmanın ölçütü, parametreler için farklı sayıda parametreye veya farklı konumlandırmaya veya farklı veri türlerine sahip olmaktır.

Tek bir sınıf kullanarak nesneler oluşturan ve sınıfın yeni bir örneğini döndüren yapıcılar, nesneler oluşturan ancak farklı sınıflar veya nesne havuzları gibi farklı tahsis şemaları kullanarak farklı yollar yapabilen endüstri tarafından soyutlanır.

Yapıcı Aşırı Yüklemesi C++'da Nasıl Çalışır?

Örneği aşağıda gösterildiği gibi ele alalım:

Kod , c++ ' da yapıcı aşırı yüklemesinin bir örneğini gösterdi .

"Hesapla" sınıfının 2 kurucusu vardır:

  1. Varsayılan Yapıcı (herhangi bir parametre olmadan)
  2. Üç parametreli Oluşturucu

Ve main() içinde oluşturulan iki nesne vardır.

1. çıkış:

Oluşturulduğunda, varsayılan kurucuyu parametresiz olarak otomatik olarak çağırır. Bunun nedeni, bir nesne oluştururken herhangi bir parametre geçmemesidir. Bu nedenle, first(Varsayılan Oluşturucu) tanımıyla eşleşir. Bu, ana sınıfın o nesnesi için üç değişkenin tümüne 0 değeri atayacaktır.

2. çıkış2:

Oluşturulduğunda, yapıcıyı 3 parametre ile otomatik olarak çağırır. Bunun nedeni, bir nesne oluştururken yalnızca 1 parametrenin iletilmesidir. Bu nedenle, İkinci Oluşturucu tanımıyla eşleşir. Bu, ana sınıfın o nesnesi için değişkene 3 değer (parametre olarak iletilir) atayacaktır.

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

Çözüm

C++'da yapıcı aşırı yüklemesi için programlama konseptini anlamak, programcılar ve sistem tasarımcıları için önemli bir beceridir. Bilgisayar ve bilgisayarla ilgili programların akışındaki öğrenciler, OOP kavramları ve kod optimizasyonu gibi becerilerini ve teknik güvenilirliklerini artırabilir. upGrad portalındaki kaynaklar ve bilgi tabanı, bu tür profesyonelleri endüstri pazarında rekabet edebilmek için programlama uzmanlığını kazanmaya teşvik eder. Ek olarak, profesyonel ağ oluşturma ve beceri geliştirmeyi keşfetme fırsatı elde edeceksiniz.

Full-stack yazılım geliştirme hakkında daha fazla bilgi edinmek istiyorsanız, upGrad & IIIT-B'nin çalışan profesyoneller için tasarlanmış ve 500+ saatlik zorlu eğitim, 9+ proje ve Full-stack Yazılım Geliştirmede Yönetici PG Programına göz atın. atamalar, IIIT-B Mezun statüsü, pratik uygulamalı bitirme projeleri ve en iyi firmalarla iş yardımı.

Programlamada yapıcılar nelerdir?

Programlamadaki yapıcılar, asıl amacı nesneyi başlatmak ve diğer basit görevleri gerçekleştirmek olan işlevlerdir. Yapıcılar, kullanılan popüler bir programlama paradigması olan nesne yönelimli programlama için kullanılır. Nesne yönelimli bir program, bu nedenle, sırayla özelliklere, yöntemlere ve olaylara sahip olan nesneleri içerir. Bir nesne oluşturmak için bir kurucu kullanmanız ve nesneyi kullanabilmek için onu somutlaştırmanız gerekir.

Yapıcı aşırı yüklemesi nedir?

Yapıcı aşırı yüklemesi, aynı ada sahip birden fazla kurucuya sahip olmak anlamına gelir. Yapıcılar, bir nesne oluşturulduğunda çağrılan yöntemlerdir. Sınıf adı olan tüm kurucular için aynı adı kullanmanız gerekir. Bu, yapıcının farklı sayıda argümanla bildirilmesiyle yapılır. İletilecek argüman yoksa, varsayılan kurucu çağrılır. Tek bir argüman varsa, tek bir argüman alan yapıcı çağrılır. İki veya daha fazla argüman varsa, tam olarak iki veya daha fazla argüman alan yapıcı çağrılır.

Yapıcılar kullanılarak nesneler nasıl başlatılır?

Sınıflarınızın başlatılması söz konusu olduğunda yapıcılar çok önemlidir. Nesneleri oluşturmak ve başlatmak için kullanılan özel bir işlev türüdür. Bazen sınıftaki tüm alanları oluşturmak istemeyiz çünkü bunlara ihtiyaç yoktur. Tüm alanları oluşturursak, tüm alanları başlatmalıyız. Bu durumda varsayılan yapıcıyı kullanırız ve alanları istediğimiz gibi başlatırız. Bir sınıf oluşturduğunuzda, sınıf içinde bir veya daha fazla kurucu oluşturabilirsiniz. Böylece, belirli bir sınıf için nesneler oluşturduğunuzda, ayarlamak istediğiniz argümanlarla birlikte bunun yapıcısını kolayca çağırabilirsiniz. Bu argümanlar, yapıcısı çağrılan sınıfın alanlarının veya niteliklerinin değerleri olarak ayarlanabilir.