Nesne İşaretçileri

Nesne İşaretçileri

İşaretçiler, bildiğiniz gibi bir değişkenin bellekte tutuldukları yerin adresini tutarlar. Nesne

işareçtileri konusundaki işaretçiler, nesnelerin bellek üzerinde bulundukları yerin adresinitutarlar.NOT: Eğer nesnelerin üyelerine ulaşmak istiyorsak -> işaretini kullanmalıyız.Kullanım şekli:SınıfAdı *gösterge_ismi;Örnek1:#include <iostream>#include <string>using namespace std;class Takim {string isim; string mevki;int no;public:Takim(string,string,int); //parametreli yapıcıvoid listele();};Takim::Takim(string i,string m,int n){isim=i;mevki=m;no=n;}void Takim::listele(){cout<<"Futbolcu ismi:"<<isim<<endl;cout<<"Oynadigi mevki:"<<mevki<<endl;cout<<"Numarasi:"<<no<<endl;cout<<"--------------------------------------"<<endl;}void main(){Takim Turkiye[4]={Takim("Volkan Demirel","Kaleci",1),Takim("ArdaTuran","OrtaSaha",10), Takim("Burak Yilmaz","Forvet",9),Takim("Gokhan Gonul","Defans",7)};Takim *A=Turkiye;for(int i=0; i<4; i++){A->listele();A++;} system("pause"); }Örnek2:#include <iostream>#include <string>using namespace std;class Takim {string isim,mevki;int no;public:Takim();void listele();};Takim::Takim() //Parametresiz yapıcı. Veriler klavyeden alınıyor...{cout<<"Futbolcu ismi:";cin.ignore();getline(cin,isim); cout<<"Mevki ismi:";cin.ignore();getline(cin,mevki);cout<<"Numarasi:";cin>>no;}void Takim::listele(){cout<<"Futbolcu ismi:"<<isim<<endl;cout<<"Mevki ismi:"<<mevki<<endl;cout<<"Numarasi:"<<no<<endl;cout<<"--------------------------------------"<<endl;}void main(){Takim Turkiye[4];Takim *A=Turkiye;for(int i=0; i<4; i++){A->listele();A++;}system("pause");}

Yorumlar