C++ Dersleri 27 – C++ Arkadaş ( Friend ) Fonksiyonlar

Tarih: 5 Mayıs 2011 Yorum: 13

Merhabalar arkadaşlar.
Bu dersimizde C++’ta private değişkenlere erişmemizi sağlayan friend yani arkadaş fonksiyonları göreceğiz.Konu anlatımından sonra 3 tane örnek çözdüm.Her ne kadar video içerisinde söylemiş olsam da tekrar söyleyeyim.

– > Üyesi olmadığı bir sınıfa ait private üyelere erişimi friend fonksiyonlar sağlar.
– > Private veya public kısmında herhangi bir yere koyulabilir.
– > A sınıfımız olsun.
A,B’yi arkadaşı seçiyor.
A sınıfı içine friend class B; ‘yi eklemeliyiz.
– > Arkadaşlık verilir ama alınmaz.
– > A ve B arkadaş. B ve C arkadaş. Bu durum A ve C ‘ nin arkadaş olduğunu göstermez.
Şimdi sırada videolar,iyi seyirler..

C++ Friend ( Arkadaş ) Fonksiyonlar 1.Kısım

C++ Friend ( Arkadaş ) Fonksiyonlar 2.Kısım

 

Yazar: admin (142 Posts)


Etiketler:



13 Yorum var:

Avatar

Salih dedi ki..

Süper anlatmışsınız hocam elinize sağlık

05/05/2011 12:21

Avatar

softa dedi ki..

hocam ikinci videodaki örnek çok iyi olmus konuyu daha iyi anlamamı sagladı,ellerinize saglık..

25/05/2011 21:19

Avatar

Nuri Cetinkaya dedi ki..

baba helal olsun ellerine saglik arkadas araciligiyla gordum siteyi,emegine saglik mukemmel bi site tek kelimeyle ,tesekkurler ..

05/06/2011 22:42

Avatar

Nuri Cetinkaya dedi ki..

biraz gec oldu yarin sabah sinavim var ama sayende iyi bi not alacagim insallah 😉

05/06/2011 22:43

Avatar

masis dedi ki..

hocam hiç private kullanılmasa arkaşlara işlevlere gerek de kalmaz..
bunun gerekliliğini nasıl açıklarız acaba??

26/07/2011 17:10

Avatar

admin dedi ki..

@masis;private kullanmamız mecburi olduğu durumlarda napacağız peki? ( :

31/08/2011 12:27

Avatar

ersin arslan dedi ki..

ödev bu C++ DA KARMAŞIK SAYILAR ÜZERİNDE TOPLAMA VE ÇIKARMA İŞLEMİNİ YAPAN BİR PROGRAM YAZINIZ
( NOT ) OVERLİNGİ KULLANMANIZ FAYDANIZADI
UMARIM YARDIMCI OLURSUNUZ HOCAM VE ARKADAŞLAR

12/10/2011 16:13

Avatar

halil şentürk dedi ki..

hocam paylaşım güzel yanlız ses birazcık geriden geliyor bu biraz sorun bence

09/05/2012 21:35

Avatar

Büşra dedi ki..

merhaba hocam. şu programda hata alıyorum ve hatayı bulamadım yardımcı olabilirseniz çok sevineceğim.

#include
using namespace std;

class sinif {
int notbir,notiki,notuc;
public:
sinif(int n) {
notbir=n;
notiki=notbir;
notuc=notiki;
}

friend void al(sinif deneme);
friend void goster(sinif deneme);
}x;

void al(sinif deneme) {
cout <> x.notbir;
cout <> x.notiki;
cout <> x.notuc;
}

void goster(sinif deneme) {
cout << "Birinci ogrencinin notu: " << x.notbir << endl;
cout << "Ikinci ogrencinin notu: " << x.notiki << endl;
cout << "Ucuncu ogrencinin notu: " << x.notuc << endl;
}
int main() {

x.al();
x.goster();

system ("pause");
return 0;
}

06/04/2013 17:11

Avatar

kaan dedi ki..

Hocam öncelikle teşekkür ederim her konu örneklerle çok güzel anlatılmış. Ama videoların çoğunda ses ve görüntü senkronize değil ses biraz geriden geliyor bunu belirtmek istedim. Yinede çok teşekkürler iyi çalışmalar

21/04/2013 23:42

Avatar

Soul dedi ki..

Merhaba Busra,

Kodunla biraz oynadim ve ise yarar hale getirmeye calistim.. Acik konusmak gerekirse tam bir pain di bu is hehe x))

eger friend fonksiyon cagirirsan bir classin icine, o zmn o fonksiyonlar o classin elemani olarak gorunmuyorlar sadece friend atamasi olarak gorunuyorlar. bu yuzden classtan degilde normal bir fonksiyon olarak cagirman gerek.

Baska bir hata ise “cout” la ilgili. cout “<<" ile kullanilir "” ile degil hehe x)))

Bir baska eksiklik de ugrastigin fonksiyonlara mainde deger atamamissin. Degersiz fonksiyonlar pek ise yaramazlar eger deger belirtilmisse iclerinde x) Ya o degerleri silicektin, ya da mainde de deger gostericektin.

Bir baska hata da private icindeki degerleri yine private icinden degerlerle almaya kalkmissin. Oda oyle ise yaramaz maalesef =)

Ve yine baska bir hata, 3 tane farkli deger atanilmasi istenmis lakin sen tek deger uzerinden halletmeye calismissin. 3 not icin 3 tane farkli deger gerek ve bunu classin icinde de belirtmelisin en azindan bir kere ki friend fonksiyonlar buna gerek duymasin. Lakin onlarda classin icinden okuyabiliyorlar. =)

Code’un temize cekebildigim hali bu;
—————————————————————————-
class sinif {
int notbir,notiki,notuc;
public:
sinif(int n1,int n2,int n3) {
notbir=n1;
notiki=n2;
notuc=n3;
}
friend int al(sinif deneme);
friend int goster(sinif deneme);
};
int al(sinif x){
cout << x.notbir << endl;
cout << x.notiki << endl;
cout << x.notuc << endl;
}
int goster(sinif x){
cout << "Birinci ogrencinin notu: " << x.notbir << endl;
cout << "Ikinci ogrencinin notu: " << x.notiki << endl;
cout << "Ucuncu ogrencinin notu: " << x.notuc << endl;
}
int main(){
int not1,not2,not3;
cout <> not1 >> not2 >> not3;
sinif x(not1,not2,not3);
al(x);
goster(x);

system (“pause”);
return 0;
}
—————————————————————————-

Umarim faydali olabilmisimdir =)

Thankies
Best Regards

01/06/2013 15:45

Avatar

uğur dedi ki..

int fonk(deneme a){
if(!(a.n%a.d))
return 1;
else
return 0;

buradaki !(a.n%a.d) ifadesini anlayamadım, a.n nin a.d ye bölümünün tam sayı olduğunu nasıl anladık burda ve ünlem işaretinin ve yüzde işaretinin amacı nedir. yardımcı olursanız sevinirim iyi günler.. 🙂

08/09/2013 20:46

Avatar

sas dedi ki..

ben de okulda türkçe alıyorum bu dersi ancak biz constructer a hep kurucu diyoruz ama yapıcı bana biraz garip geldi ama genel olarak çok yararlı bir ders olmuş, teşekkürler..

03/04/2015 17:41


Yorum Yap:






© Tüm Hakları Saklıdır - Kaynak belirtmeden alıntı yapılamaz!