Kırmızı Şapka

RedHat, Uygulama Kurulumu, Ayarlar vs.

Cumartesi, Temmuz 04, 2009

Diyelim ki bir nesneyi kendine gore ekrana bastirmak istiyorsun. Bu durumda ilk aklima gelen << operatorunu tanimlamakdi nesnenin icinde. Ama oyle olmadi. Disarida, main den once, << icin overload tanimliyorsun. Hani bir fonksiyonu farkli girisler icin cagirabilme durumu bu overload..

ostream & operator << (ostream & out, const IntCell & rhs)
{
out << "value=" << rhs.read();
return out;
}


Bir diger yaklasim da


friend ostream &operator<<(ostream &stream, IntCell & ob);

olarak public kisminda nesne icinde tanimlamak. Ancak Weiss kitabinda bunun eski derleyiciler tarafindan sorun cikardigini, bazan friend ile template leri birlestirmekte sorun yasandigini yaziyor.

Diger taraf icin:

istream &operator>>(istream &stream, IntCell &ob);


kullanilmali.

Etiketler:

Toplam 0 Yorum:

Yorum Gönder

<< Ana Sayfa