$1.99 Domains* at GoDaddy.com

C++ new ve delete Operatör Fonksiyonlarının Yazımı

cders-129new ve delete operatör fonksiyonları bir sınıfın üye fonksiyonları biçiminde yazılabilir. Bu durumda bir sınıf türünden bir tahsisat yapıldığında ya da tahsis edilmiş bir alan serbest bırakıldığında bu sınıfın üye fonksiyonlarıyla ilgili işlemler yürütülür. new operatör fonksiyonu aşağıdaki gibi tanımlanmak zorundadır.

 

void * operator new(size_t size);

 

size_t yerine unsigned int de yazılabilir ama bu tür aslında derleyicileri yazanlar tarafından herhangi bir tür olarak tanımlanabilecek bir tür belirtmektedir. Hemen hemen bütün derleyicilerde size_t unsigned int anlamındadır.

 

Benzer biçimde delete operatör fonksiyonu da şu şekilde yazılmak zorundadır.

 

void operator delete(void *ptr);

 

/*—–opernew.cpp—–*/

 

Bir sınıfın new ve delete operatör fonksiyonları yazılmışsa bu sınıf türünden yapılan new ve delete işlemlerinde bu operatör fonksiyonları kullanılır. Ama yine normal olarak başlangıç ve bitiş fonksiyonları çağırılacaktır. Benzer biçimde sınıfa ilişkin birden fazla sınıf nesnesi için tahsisat yapabilmek için köşeli parantezli operatör fonksiyonları da yazılabilir. Köşeli parantezli new ve delete operatör fonksiyonları şöyle bildirilmek zorundadır.

 

void * operator new [](unsigned size);

void operator delete [](void *ptr);

 

new X[10];/*default constructor çağırılır*/

Kategoriler: C++ Programlama, Yazılım

Tags: , , ,

Yorumlar

Yorum Yok

Yorumunuzu Ekleyin

Yorum eklemek için giris yapmalısınız.