This Pointer & Cascading

C++ dilinde kullanıcı tarafından oluşturulan class’larda her object’in sahip olduğu bir tane pointer vardır. Kendisi constant olan ve non-constant bir object’in adresini tutan bu pointer’a this pointer’ı denir. Class içerisinde yazdığımız non-static member function’ların hepsine implicity olarak gönderilir. Kendimiz bu pointer’ı explicitly olarak da kullanabiliriz. Basit bir class yaratıp, implicitly ve explicitly kullanılışını görelim.



Görüldüğü gibi this pointer’ını iki yerde kullandık. Birincisi object’in değerini point ederken, ikincisi ise object’in adresini point ederken. Bu iki kullanım explicitly bir kullanımdır, diğer iki kullanım ise ( this keyword’unun yazılmadığı yerler ) birer implicitly kullanıma örnektir. Bir constant pointer ile ne yapabiliyorsak this ile de onları yapabiliriz.
Cascading with Using This Pointer
Cascading dediğimiz olay aynı anda bir object üzerinden birden fazla member function çağırma olayıdır. Bu olayı referans dönderen member function’lar sayesinde yaparız. this de bir pointer olduğu için fonksiyon içerisinde this ’i döndermek cascading olayı yapabilmemizi sağlar. Date adında bir class’ımız olsun ve bunun içerisinde 3 tane setYear(), setMonth() ve setDay() adında member function’larımız olsun. Hepsi referans return etsinler ve main içerisinde yarattığımız bir object üzerinden bunları sıralı bir şekilde çağıralım. ( Program biraz uzun olacağından dolayı headerını ve implementasyonunu ayırıyorum. )
Header File
Implementation File// will be added


Main File
main içerisinde date2 object üzerinden set fonksiyonlarını sıralı bir şekilde çağırdık. İşte cascading dediğimiz olay tam olarak budur.

Popular posts from this blog

Polya’nın Problem Çözme Teknikleri

Mikroislemci Temelleri