C++ Yıkıcı Fonksiyon (Destructor)

Yıkıcı fonksiyon, tanımlanmış olan nesneyi yok eder. Fonksiyonun çalışma anı ise program bitmeden hemen öncedir. Örneğin derleyici return 0; deyimine gelmeden yıkıcı fonksiyon çalıştırılır. Yıkıcı fonksiyonu sınıf içerisinde tanımlamasanız bile tıpkı kurucu fonksiyonda olduğu tüm sınıf yapısı içinde varsayılan olarak tanımlıdır.

Yıkıcı fonksiyon tanımlamanın kurucu fonksiyon tanımlamaktan tek farkı önündeki (~) işaretidir.
#include <iostream>

class Deneme{
    public:
        Deneme();
        ~Deneme();
};

Deneme::Deneme(){
    std::cout << "Kurucu Fonksiyon" << endl;
}

Deneme::~Deneme(){
    std::cout << "Yıkıcı Fonksiyon";
}

int main(){
    Deneme deneme;
    int i;
    std::cin >> i;
    return 0;
}
Dikkat edilmesi gereken bir hususta kurucu fonksiyonlar aşırı yüklenebilirken yıkıcı fonksiyonda böyle bir imkan olmamasıdır.Yıkıcı fonksiyonlar sadece 1 kere tanımlanabilir. Ayrıca Fonksiyonların Aşırı Yüklenmesi yazısını inceleyebilirsiniz.

Hiç yorum yok:

Yorum Gönderme