Hoşgeldin Misafir

C++ İle Referansların Kullanımı

MiRaT

13 Kas 2017
2,077 Mesaj

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
Refe.h

Kod:
ifndef REFE_H
#define REFE_H
#include <iostream>//kütüphane tanımlaması yapıyoruz
 
using namespace std;//isim uzayı tanımlıyoruz her satırın başına std: koymamak için
 
class refe//refe adında bir sınıf oluşturuyoruz
{
    public://herkesin erişebileceği bilgilerin yer aldığı blok
        refe();//constructor yani sınıfla ilgili işlem yapıldığında ilk çalışacak blok
        virtual ~refe();//destructor yani program kapanırken çalışacak blok
        **** adl(int &z);//adl adında bir fonsiyon tanımlıyoruz.parantez içindeki &z z nin gelen değerin referansı olduğu tanımlanır.
    private://sadece bu sınıfın üyesi olanların erişebileceği blok
 
};
 
#endif // REFE_H


Rafe.cpp

Kod:
#include "refe.h"//headerımızı çağırıyoruz
refe::refe()//constructor
{
}
refe::~refe()//destructor
{
}
 **** refe::adl(int &z){//adl adında bir fonsiyon tanımlıyoruz.parantez içindeki &z z nin gelen değerin referansı olduğu tanımlanır.
     cout<<z<<endl;//z referansının içeriği ekrana yazdırılır
 }


Main.cpp

Kod:
#include "refe.h"//headerımızı çağırıyoruz
 
int main()
{
    int b=55;//integer tipinde b değişkenimizin değeri 55
    refe a;//refe classımızı artık a temsil etmektedir.
    a.adl(b);//a classımızın içinde adl fonksiyonuna b yi gönder
    int &c=b;//integer tipinde ve aynı zamanda referans olarak c adında değişken tanımlanıyor ve içine b nin içerği aktarılıyor
    c=155;//c=155 ile cnin ieriği değişti dolayısıyla c bir referans olduğu için ve cde byi temsil ettiği için b de 155 oldu
    int *e;//integer tipinde e adında bir pointer
    e=&b;//pointerımızın içeriğine b değişkeninin içeriği aktarılır.
    *e=255;//e pointerının içeriği 255 oldu aynı zamanda b değiştiği için c de değişti.
    cout<<c<<b<<*e;//ekrana 255 255 255 yazar.Sebebi e b yi değiştirdi ve c de byi referans gösteriyordu dolayısıyla hepsi değişti.
    return 0;//programı bitir.
}