bir sınıfın belirli bir üye işlevine arkadaşlık vermek

A isimli bir sınıfımız var ve bu sınıfın, B isimli bir başka sınıfın geri dönüş değeri olmayan, parametresi A sınıfı türünden olan foo isimli üye işlevine arkadaşlık vermesi gerekiyor. Bunu nasıl gerçekleştirebiliriz?

Derleyicinin bu arkadaşlık bildirimini geçerli kabul etmesi için diğer sınıfın (örneğimizdeki B sınıfının) tanımını (definition) görmesi gerekiyor. Bunun için kodu özel bir şekilde yapılandırmamız gerekiyor:

B sınıfının tanımından önce A sınıfının ön bildiriminin (forward declaration) yapıldığını görüyorsunuz. Böylece B sınıfı A sınıfını tamamlanmamış bir tür (incomplete type) olarak kullanabiliyor. Bu tanımın görüldüğü bir yerde şimdi A sınıfının tanımını yapabiliriz:
A sınıfının tanımı içinde, B sınıfının geri dönüş değeri olmayan parametresi A sınıfı türünden olan foo isimli işlevine arkadaşlık veren bildirimi görüyorsunuz. Arkadaşlık bildiriminin A sınıfının public, protected ya da private bölümünde yapılması bildirimin anlamını değiştirmiyor. Bu noktadan sonra, artık arkadaşlık verilen B sınıfının foo isimli üye işlevi tanımlanabilir:

Necati Ergin

C ve Sistem Programcıları Derneğinde eğitmen olarak çalışıyor.

Bunlar da ilginizi çekebilir

Bir Cevap Yazın

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

Kod Eklemek İçin Okuyun