C++ Yapıcı-Yıkıcı Fonksiyonlar

Merhaba arkadaşlar,bu dersimizde classlarda yapıcı ve yıkıcı fonksiyonlardan bahsedeceğim.
Yapıcı fonksiyonlar(Constructor), bulundukları class ile aynı isimli olurlar.Bir sınıftan nesne oluşturulduğu zaman o classın yapıcı fonksiyonu çalışır.Main fonksiyonundan hangi yapıcı fonksiyonu çağırırsak o fonksiyondaki işlemler yapılacaktır.Yapıcı fonksiyonlar parametre döndürmezler.Diğer fonksiyonları private yapabiliyorken yapıcı fonksiyonlar public erişime sahiptirler.Örnekte yapıcı fonksiyonu görelim.

Yapıcı fonksiyonu oluştururken classa ait olduğunu başta class adı ::’dan sonra yapıcı fonksiyonumuzu adını yazarak oluştururuz.

Bir classta parametresiz ile bir veya birden fazla parametreli birden fazla yapıcı fonksiyon bulunabilir.Birden fazla yapıcı fonksiyon kullanıldığı zaman aşırı yüklenme olur.

Yıkıcı fonksiyonlar(Deconstructor),yapıcı fonksiyonlar gibi bulundukları class ile aynı isimlidirler.Class ile işlemler bittiği zaman gereken işlemleri içeren fonksiyonlardır.Yapıcı fonksiyonların başında tilda(~) karakteri bulunur.Nesne  silineceği zaman yıkıcı fonksiyon çağırılır.Yıkıcı fonksiyon çağırıldığında bellek nesnenin yeri silinir ve yeni oluşacak nesne için yer açılır.Yıkıcı fonksiyonlarda parametre bulunmaz.Yıkıcı fonksiyonlar değer döndürmezler.Bir sınıfa ait bir yıkıcı fonksiyon olabilir.Yıkıcı fonksiyonlarda aşırı yüklenme olmaz.

Ekran çıktısında birşey dikkatinizi çekmiştir.’Yıkıcı Fonksiyon Çağırıldı’ üç kez yazıldı.Peki bunun sebebi ne olabilir?

Bunun sebebi main fonksiyonunda oluşturup çağırdığımız her bir yapıcı fonksiyon için ayrı ayrı yıkıcı fonksiyon çağırıldı.Bir tane yapıcı fonksiyonu kullansaydık;

Yıkıcı fonksiyonlar,bulundukları classlarda yapıcı fonksiyon kadar yıkıcı fonksiyon çalışır.

 

C++ Yapıcı-Yıkıcı Fonksiyonlar” için 2 yorum

  • Ekim 25, 2017 tarihinde, saat 5:17 pm
    Permalink

    daha fazla örnek vermeniz konuyu daha iyi anlamamızı sağladı teşekkürler

    Yanıtla
    • Ekim 25, 2017 tarihinde, saat 5:54 pm
      Permalink

      Ben teşekkür ederim takip ettiğiniz için.Kolay gelsin.

      Yanıtla

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir